Solaris 8 Early Access |
YAMAMORI Takenori ●yamamori |
Solaris 8の新機能としてのlofiを使おうとした時, 筆者環境では,最初うまく動作しませんでした.
これは,Solairs 8を,SunOS 4.1.4をサーバとする ディスクレスクライアントとしてインストールしているのが原因でした. つまり,lofi関係のデバイス番号が大きく, NFS上にはデバイスファイルが正常に作成できなかったのです.
SunOS 4.1.4でも,デバイスファイルのmajor/minor番号は, それぞれ255までは使用できるのですが,Solaris 8をNFSクライアントにすると 128以上のmajor番号が化けてしまうのです.(minor番号は255までOKです) たとえば,以下のようになります.
# mknod foo c 147 0 # ls -l foo crw-r--r-- 1 root other 16383,234240 Dec 25 13:28 foo
この問題を,tmpfsを使って解決しました. tmpfsは,ディスクレスマシン上の,(リムーバルメディアを除く)唯一の ローカルファイルシステムです. /etc/name_to_majorを見て,lofiが major番号147であることを確認し, 以下のようにデバイスファイルを/tmp以下に作成して, シンボリックリンクを張ります.
# cd /devices/pseudo # rm lofi@0:* # mknod /tmp/lofi@0:ctl c 147 0 # mknod /tmp/lofi@0:1 b 147 1 # mknod /tmp/lofi@0:1,raw c 147 1 # ln -s /tmp/lofi@0:* .
これで,このマシン上でも,lofiが使えるようになりました. もっとも,このままではリブートすれば消えてしまいますので, 本格的に使うには,これらの処理をrcスクリプトに記述するなど しなければなりません.
もちろん,最初からSolaris 2.x系をNFSサーバにしている場合は このような問題はありません. また,試しにLinuxをNFSサーバにもしてみましたが, この場合もデバイスファイルはOKでした.