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以上のものであればいけるはず。
インストール
- まずはOpenSolarisをUSBブートする。GRUBのメニューで一番上を選択し、日本語と日本語キーボードを選択していくとGUIで起動する。
- ハードウェアが対応しているかどうか知りたい場合は、「アプリケーション」→「システムツール」→「デバイスドライバユーティリティー」で確認。
- 「OpenSolarisをインストールする」のアイコンをクリック
- インストーラが起動するのでインストールするディスクを選択する。
- ユーザーの作成部分で、新規ユーザーを作らないとrootユーザーでのログインになる。ここでユーザーを追加すると、特権をもったユーザーが作成される。opensolarisではrootは役割扱いとなっている。RBAC(Role Based Access Control)という管理機構になっている。
- あとはインストールを完了させるだけ。
インストール後設定
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/
ネットワークの設定
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=1000843mtu 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はインストール時にミラーリング構成ができないんだけど、あとからならミラー構成にできる。また別で書こう。