手元で使っているノートPC(Z60t)には、Ubuntu 6.06.1 LTSである。
当初は複数ディストリビューションを試すべく、/homeを大きくとって、
小さめの/(ルート)パーティションを複数取るような分割にしていた。
ところが、Ubuntuが想像以上に居心地がよかったので、安住することにした。
��別ディストリビューションの「お試し」はXenで行うことにした。
と言うわけで、別ディストリビューションの/に割り当てていたパーティションをつぶして、
Ubuntuの/パーティションの中で割合大きなエリアを占めていた/varを追い出そうとした。
シングルユーザになって、コピーして、mount先をつくって、/etc/fstabを書き換えて...と作業は順調に行って、リブートしてみた。
ところが、立ち上がるんだけど、どうにも動きがおかしい。
良く見ると、ifconfigで見てもloが上がっていない。
うーん...と悩むこと数時間...googleで探してもそれらしいのは無い。
自分で調べるしかない。
loつまりlocalloopback interfaceは/etc/init.d/loopbackで立ち上げているようだ。
その中で、/var/run/network/に対して何やらやっている。
これは臭い。
/etc/rcS.d/を見ると、S01mountvirtfs、S08loopbackとS35mountall.shが目に付いた。
S01mountvirtfsの中で、/var/runとか/var/lockになにやらやっているし、
S08loopbackの中に関しては、上記の通り。
かたやS35mountall.shの中で/etc/fstabに記載している各パーティションをmountしている。
この順番が正しいとすると、/varを/と別のパーティションにしてはダメということね?
うーん、昔のSlackwareとかだと、/varも別にできた気がするんだけどなぁ。
イマドキはパーティション毎の使い分けもせず、追加時もLVMを使うのかなぁ。
とりあえず、該当パーティションは/varとして使うのはやめて、/usrにした。
/var と "/" が別パーティションではダメということはありません。
返信削除今使ってるマシンはUbuntu 6.10ですが、別パーティションにしています。
コレで解決というネタが見つかりませんが、
lo が起動できない状態で、df などで見た/var/run,/var/lock は
tmpfs がマウントされているのでしょうか?
また、/var/run/network/ifstate のタイムスタンプと内容は
確認されていますでしょうか?
シングルユーザモードで起動した場合でも、/var/run,/var/lock は
tmpfs がマウントされ、配下にファイルが作成されます。
これが新しいコピー先にも実態でコピーされます。
仮りに、コピー後の再起動で両ディレクトリにtmpfs が
マウントされて見えなくなるにしても、少し気持ち悪いですね。
Ubuntu 6.06 Live CD やKNOPPIXで作業してみてはいかがでしょう?
これらで起動して作業する場合はHDD 上の/var
つまり、コピー元のパーティション上にある/var は
使われないはずですから、両ディレクトリ配下には
何もファイルが存在しないと思います。
��シャットダウン時にメモリ上からクリアされる為)
/var/run にtmpfs がマウントできないとか、あるいは
/var/run/network/ifstate が書けなかったとか
それが原因だったりしませんでしょうか。
スクリプトを斜め読みすると、/var/run, /var/lock が
存在しなければ作成するようなので、コピー先の両ディレクトリを削除するか
両ディレクトリ配下のファイルだけを削除してみるのも
簡単に試せる事かもしれません。
そんなに簡単な事じゃないのかも知れないので、ハズシたらごめんなさい。
書いておきながら怪しいし。(^^;