Solaris 8 Early Access

YAMAMORI Takenori ●yamamori
■コラム■ NFS越しにデバイス番号が化ける

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でした.


To 『Solaris 8 Early Access』index


このページは、技術評論社 SoftwareDesign 2000年3月号、『Solaris 8 Early Access』の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 Home
yamamori