OpenSolarisのインストールから初期設定

OpenSolarisというかUNIX自体いじりはじめてまだ3ヶ月ぐらい。Linuxはそこそこいじってはいるんだけど、当然UNIX(ここではOpenSolaris)とは違うので、よくわからない部分がいっぱいある。OpenSolarisについて今社内でやっているiSCSIストレージについてぽつぽつ書いていこうと思ってるので、まとめがてらインストールから初期設定までをとりあえずざっと書いておく。
尚、自分のOpenSolarisの用途はiSCSIストレージを目的としてるので、レポジトリの追加とかはしない。

基本的にOSはUSBでインストールするので、今回もOpenSolarisのUSB起動ディスクの作成から。メディアに焼くこと考えるとお手軽で管理もかさばらないし、いいこと尽くめですな。


尚、以下は現時点での最新版、OpenSolaris 2009.06での話です。

も参照すると良いと思います。

USB起動ディスクの作成

まずはUSB起動用イメージの入手
Genunixから該当するISOイメージを入手する。ここには開発ビルドのものも入手できるけど、今回はリリース版のOpenSolaris 2009.06を使う。真ん中のあたりにある。

次にOpenSolaris Live USB Creator (Windows/.NET) の入手。日本人の方が作られたツールです。ありがたく使わせていただきます(-∧-)合掌。

ツールを起動して、インストール元のISOイメージとインストール先のUSBを指定してstartするだけ。いやー、簡単便利。USBは1G以上のものであればいけるはず。

インストール

  1. まずはOpenSolarisをUSBブートする。GRUBのメニューで一番上を選択し、日本語と日本語キーボードを選択していくとGUIで起動する。
  2. ハードウェアが対応しているかどうか知りたい場合は、「アプリケーション」→「システムツール」→「デバイスドライバユーティリティー」で確認。
  3. OpenSolarisをインストールする」のアイコンをクリック
  4. インストーラが起動するのでインストールするディスクを選択する。
  5. ユーザーの作成部分で、新規ユーザーを作らないとrootユーザーでのログインになる。ここでユーザーを追加すると、特権をもったユーザーが作成される。opensolarisではrootは役割扱いとなっている。RBAC(Role Based Access Control)という管理機構になっている。
  6. あとはインストールを完了させるだけ。

インストール後設定

SSHの設定

poderosaを使用しているとデフォルトではSSHができないので設定ファイルの編集

# vi /etc/ssh/sshd_config

最下行に以下を追記

Ciphers aes128-cbc

自分の環境ではこれだけで問題ないが、poderosaの暗号方式に全て対応したいなら

Ciphers	aes128-ctr,aes128-cbc,arcfour,3des-cbc,blowfish-cbc

とすればよいらしい。

viの設定

参考サイト

デフォルトでviがvimにリンクされているがvi互換モードになっているのでサンプルから設定をもってくる。ここでは日本語対策とカラーリング。

# cp /usr/share/vim/vim72/vimrc_example.vim .vimrc

以下を.vimrcファイルに追加しておく

" Setting of character encoding when edited file is preserved.
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
  set fileencodings=utf-8,latin1
endif

" color
set term=xterm-color
" tab
set ts=4

syntaxの下に追加。(自分の環境用。背景が黒だと見えなくなるので)

  highlight Search term=reverse ctermfg=0 ctermbg=3
  highlight WildMenu term=standout ctermfg=0 ctermbg=3

autoindent無効

" filetype plugin indent on
" set autoindent

上記のようにコメントアウト
rootにも一応同様にvimrcを設定しておくとよい。

# pfexec cp .vimrc /root/
grubの設定

デフォルトではgrubのメニューが30秒選択なので短縮する。/rpool/boot/grub/menu.lstの編集

timeout 5

に変更

ネットワークの設定

OpenSolarisはネットワークを自動で設定してくれるnwam(Network Auto-Magic)という賢いサービスがあるんだけど、サーバーなどで本格的な運用をする上ではこれは無用になるので無効とし、マニュアル設定とする。以下はrootで設定しています。

ここでは

  • IP:192.168.1.10/24
  • GW:192.168.1.1
  • DNS:192.168.1.20

で説明。

NICが認識されていない場合は、上記「デバイスドライバユーティリティー」で該当箇所から検索する。

まずnsswitch.confで名前解決の方法を設定する。DNSを使用するので、設定ファイルをコピーする。

# pfexec cp /etc/nsswitch.dns /etc/nsswitch.conf

NICの名前確認

# ifconfig -a
bnx0: flags=1000843 mtu 1500 index 2
↑ここ

IPアドレスのセット(NICの名前をhostnameの後ろにつける) 。記述する。(192.168.0.xxxなど)

# pfexec vi /etc/hostname.bnx0

netmaskのセット(192.168.0.0 255.255.255.0など)。強制上書きで保存。

# pfexec vi /etc/netmasks

gatewayの設定。新規作成して追記。(192.168.1.1など)

# pfexec vi /etc/defaultrouter

DNS設定
インストール時に自動で検出&設定されていなければ(nameserver 192.168.0.1など)

# pfexec vi /etc/resolv.conf

nwamの停止とネットワーク起動

# svcadm disable nwam && svcadm enable svc:/network/physical:default

固定IPへSSH接続して確認

# netstat -r
# ifconfig -a
NTPの設定

/etc/inet/ntp.confに追加

server ntp1.tohoku.ac.jp
server ntp.tut.ac.jp
server ns.hiroshima-u.ac.jp

サービス起動もしくは再起動

# svcadm enable ntp

しばらくして以下のような表示になればOK

# ntpq -p
     remote           refid      st t when poll reach   delay   offset    disp
==============================================================================
 *zao.net.tohoku. .GPS.            1 u   63   64    1    20.03    8.785 15875.0
  sagi.cc.tut.ac. GPS_NMEA(1)      6 u   63   64    1    19.58    9.042 15875.0
 +ns.hiroshima-u. ntp.hiroshima-u  2 u   63   64    1    29.57   12.786 15875.0
パッケージ管理

パッケージコマンドの使い方とか。

アップデートする。

# pfexec pkg install SUNWipkg
# pfexec pkg image-update

自動でboot環境のバックアップが作成される。boot環境を調べるときは

# beadm list
 BE            Active Mountpoint Space Policy Created          
 --            ------ ---------- ----- ------ -------          
 opensolaris   N      /          0B    static 2009-12-03 17:42 
 opensolaris-1 R      -          3.01G static 2009-12-04 11:50 

で一覧がでる。

N
現在のboot環境(now)
R
再起動後のboot環境(reboot)

設定を反映させる為に再起動。

VNC設定

こちらを参考にしました。

接続にはRealVNC日本語インストール版を使う。

パッケージの確認

# pkg info SUNWxvnc

デフォルトで入っているはず。

次に/etc/X11/gdm/custom.confの編集。以下を追加。

[xdmcp]
Enable=true
[security]
DisallowTCP=false

VNCのサービスを有効化

# svcadm enable xvnc-inetd

gdmの再起動。これをしないとつながらない。

# svcadm restart gdm

とりあえずここまでで接続は可能になるんだけど、このままだとパーシステントな設定になっていないのでセッションが保持されない。つまりVNC接続をぷちっと切ってしまうとログアウトしてしまう。これでは困るので明示的にログアウトしたとき以外はデスクトップの作業をそのまま保持させておくようにしておきたい。

# svccfg -s xvnc-inetd
svc:/application/x11/xvnc-inetd> editprop

でエディタが開くので

# setprop inetd/wait = boolean: false

setprop inetd/wait = boolean: true

に変更

svc:/application/x11/xvnc-inetd> exit

設定の再読み込み

# svcadm refresh xvnc-inetd

これで意図的にログアウトした場合のみセッションの終了となる。
GUIの作業を行うときはこれでリモートから可能で便利。


今のところこんな感じで初期の共通設定にしている。間違ってるとことか突っ込みどころに気づいた方はコメントください。
rpoolはインストール時にミラーリング構成ができないんだけど、あとからならミラー構成にできる。また別で書こう。