この節は Ron Peters rpeters@hevanet.com によって書かれたものです。フロッピーからブートして、 NFS サーバを設定する方法を解説しています。この方法は、 CDROM のないマシンに Linux をインストールする場合に、 他の非 Linux/UNIX マシンに CDROM を NFS エクスポートさせる ことを目的として考案されました。
この文書は、私が最近出会ったものと同じ問題に突き当たった人のために 作成しています。私は CDROM ドライブがないマシンを Linux サーバに しようとしていました。また CDROM を追加することもできませんでした。 外付けの SCSI CDROM などは可能だったかもしれませんが。今では こんなマシンはどんどん少なくなっているでしょうから、この文書の価値も それほどたいしたものではないかもしれません。でも、サーバを 作ろうとしていた当時の私は、この文書があればきっとありがたいと 思ったでしょう。
私のマシンには CDROM ドライブがなかったので、私はまず Win95 用の NFS サーバを探し、インストールしてネットワークにつなぐまでの間だけ CDROM を共有させようとしました。そのような製品は二つありました ( 名前は紹介しませんが、一つはフリーウェアで、もう一つは 14 日間の 試用ができるライセンス付きのものでした)。一つは私のマシンでは 動作せず、もう一つは Linux 向けのファイル名をうまく扱えなかったので、 インストールを完了させることができませんでした。
そこで私は自分の Win95 マシンを boot/root フロッピーでブートさせ、 追加ディスクでもって、こいつを NFS サーバにセットアップしてみることに しました。
これは実に単純で、手順もおそらくこの文書を読むより楽なくらいかも しれませんが、手続き全体を一つのところにまとめておくことによって、 また別の価値が生じるのではないかと信じます。
この文書のもとになった作業で用いた boot/root ディスクは、 InfoMagic による Slackware の最近の developer distributions のものです。 boot/root ディスクのカーネルとしては 2.0.34 を用いました。しかし NFS プログラムは 2.0.30 サーバのものから持ってきました。 私はインストールにはいつも Slackware を使っていますが、これは Slackware が簡単だとか良いとか悪いとかではなく、単に私が Slackware を快適に使えていて、他の方法を試す時間がなかったからです。
この文書の方法を別のバージョンの Linux で使っても、それほど多くの 問題が出るとは思えません。個人的にはできるだけ新しいものを使うことを お薦めします。最新の boot/root セットでは、こちらがインストールに 用いられていることが多いだろうからです。
選択はあなたのお好きなように。
NFS サーバシステムをブートフロッピーからブートし、 ネットワークカードが認識されていることを確認します。 CDROM ドライブも認識されている必要があります。 以下ではネットワークカードの例として eth0 を用います。
システムが立ち上がったら、 boot/root フロッピーは必要ありません。 システムは全て RAM に含まれています。
root フロッピーを追加ディスクに入れ換え、フロッピーをマウントします。
mount /dev/fd0 /floppy
ここではフロッピーは ext2 ファイルシステムだとしています。
ファイルを入れておく追加ディスクは DOS フロッピーでも良いかもしれませんが、
私は試したことがありません。ディスクを作るの時にはこちらの方が
簡単なのかもしれませんね。この場合は mount -t msdos ...
のように
入力することになるでしょう。この内容は TODO の節に入れておきますね。
さて、 CDROM をマウントします。
mount -t iso9660 /dev/hdc /cdrom
フロッピーと CDROM デバイスは私の環境のものです。場合によって
異なるでしょう。 /floppy や /cdrom などのマウントポイントは
root フロッピーのディスクイメージにありますので、これを使います。
もしこれらがなければ、適宜作ったり既存のものを利用したりしてください。
ここで臨時 NFS サーバがネットワークで会話できるようにします。 必要なコマンドはわずかですが、コマンドを実行する前に 知っておかなければならない情報がいくつかあります (値は例です)。
臨時サーバのアドレスです。
ネットマスクです。
最後の番号 (255) が IPADDR と異なります。
同じく、 IPADDR とちょっとだけ異なります。
ゲートウェイがなければ不要です。値は知っているでしょう。 家庭のネットワークにはゲートウェイのない場合も多いでしょう。
ネットワークを利用できるようにするためのコマンド群です。 上記の値を代入してください。
ifconfig eth0 inet IPADDR arp netmask NETMASK broadcast BROADCAST
route add -net ETHNETWORK netmask NETMASK eth0
ゲートウェイがない場合や、あっても必要ない場合には、 次のコマンドは不要です。
route add default gw GATEWAY netmask 0.0.0.0 eth0
全てうまくいけば、ネットワークに接続しているはずです。 他のノードとの ping のやりとりもできるはずです。
NFS で共有させるディレクトリを決めます。この例の場合は、
/cdrom/slackware ディレクトリになります。このディレクトリを
/etc/exports
ファイルに書きます。
echo "/cdrom/slakware" > /etc/exports
/floppy/urs/sbin
に移動して以下を実行します。
./rpc.portmap
./rpc.mountd
./rpc.nfsd
これで /etc/exports
ファイルに書いた
"/cdrom/slakware"
ディレクトリは共有可能になったはずです。
以上がすんだら、インストールを行いたいマシンを boot/root フロッピーで
起動して (私は NFS サーバに使ったのと同じものを使いました)、
インストールを開始しましょう。
メディアソースの場所を選ぶところで、 NFS サーバの選択肢を選びます。
サーバのアドレスを尋ねられるでしょうから、サーバの IPADDR に指定した
IP アドレスを入力しましょう。続いてマウントするディレクトリを
聞かれるでしょうから、 NFS サーバの /etc/exports
に書いた
ディレクトリを答えてください。
するとインストールシステムはサーバから NFS マウントできるはずです。 エラーメッセージが出ないかよく見てください。 問題なくいったら、インストールを続けましょう。
トラブルシュートの情報は今のところありません。 おそらくこの手続きを使う人が増えれば、たくさんの技やヒントが 集まってくるでしょう。
追加ディスクに DOS のディスクを使う方法を調べる。
rpc.* コマンドの実行順序と、これら全てを実行する必要が あるのか、一部で良いのかどうかを調べる。