質問: debian(lenny)で起動時にfstabに記述されたnfsのファイルシステムがマウントされません。 Debian GNU/Linux 5.0 (lenny) リリースノート 5.1.5. ネットワークの初期化を同期させないと予測不能な挙動の原因となります に該当しているのかと思うのですが、どのようにすれば回避できますか?
回答: 自分の環境はUbuntuですが基本は同じなのでローカルで調べた結果を予想で回答します。 自分の予想では/etc/init.d/以下の起動スクリプトの順番が関係しているかと思います。 おそらく、/etc/fstabに書かれているファイルシステムをmountしてから、ネットワークやNFS関係の起動を行っているのではないでしょうか。 つまり、ネットワークが接続されていないのだからNFSをmountしようとしておかしくなっていると思います。 起動スクリプトの意味が分からないのであれば例えば以下のURLに書かれている内容を先に理解してください。 まずは/etc/fstabをマウントするのは/etc/init.d/mountall.shです。 これは/etc/rcS.d以下にシンボリックリンクが張られています。 自分の環境では35、36です。 ``` $ ls /etc/rcS.d/|grep mountall S35mountall.sh S36mountall-bootclean.sh ``` 次はネットワークです。 /etc/init.d/networkingがスクリプトです。これも/etc/rcS.d/以下にシンボリックリンクが張られています。 自分の環境では40です。 ``` $ ls /etc/rcS.d/|grep networking S40networking ``` 次にNFS関係は/etc/init.d/nfs-[common|kernel-server]あたりです。これはNFSに何をインストールしたかで多少異なるかもしれません。 "ls /etc/init.d/|grep nfs"で見つければ良いでしょう。 こちらは上記とは異なり/etc/rc[0-6].d/以下にシンボリックリンクが張られます。"0-6"の数字はランレベルでDebian系では通常2だと思います。 自分の環境では20です。 ``` $ ls /etc/rc`runlevel|awk '{print $2}'`.d |grep nfs S20nfs-common S20nfs-kernel-server ``` 纏めると、 * fstabのマウントは35,36 * ネットワークは40 * NFSは20 です。 ネットワークが起動していないのにNFSが20なのは明らかにおかしいですし、/etc/fstabにNFSを記述しているのにネットワークの起動はそれよりも遅いのも問題です。 起動順番を辻褄が合うように修正すれば正しく動作するのではと予想します。 どうしてもダメならば/etc/fstabにはNFSを記述せずに、/etc/rc.localにNFSのmountコマンドを記述すれば良いかと思います。 ちなみに自分の場合はNFSをインストールしていますが、色々事情が有って今は使っていませんのでサーバは起動しますがあとは何もしていませんので問題は出ていません。