どのサイトでも、とりあえずsleep削ればいいんじゃない?ばっかり書いてあって解決できていなかったので掲載しようと思う。
Waiting for network configuration…
Waiting up to 60more seconds for network configuration…
Linuxユーザで固定IPアドレスを設定していて、OS DISOをCloneしたりすると、はまる人が多いだろう。
この現象にはまる人は以下の原因が考えられる
1.そもそもネットワーク設定が間違っている。eth設定が無駄に多すぎるとかもね(/etc/network/interfaces)
2.呪文の様に/etc/init/failsafe.confのsleep行をコメントアウトしろと言われている。
3.70-persistent-net.rulesという盲点に目を通さないでいる。
今回は3を解説しよう。
例:サーバAとサーバBがありサーバAディスクをクローンしサーバBに差し替え同じアドレスのまま運用したいとする。その際あなたは単純にクローンディスクをつなげbootすると「Waiting for network configuration…」を見ることになるだろう。
原因:
これは70-persistent-net.rulesが原因で引き起こされている。
70-persistent-net.rulesはLinuxがネットワークデバイス(MACアドレス)とeth設定を結びつけその情報を保持している。
例えば例と同じようにeth0に192.168.0.1と設定し、サーバAに差し込んだ場合70-persistent-net.rulesにはサーバAのネットワークデバイス(MACアドレス)とeth0設定をペアですよ。と関連付けてしまう。その後サーバBに差し替えた際にはeth0の設定が適用されるのでは無く新たなデバイスなのだからeth1設定とペアにし始めるのだ。
あなたの望みが:
サーバAに差し込んでもサーバBに差し込んでも同じようにeth0のまま使いたい!!あなたがそう思っているなら解決方法はsleep時間を直すことでも差し替えの度にコマンド打ち込むことでもない。
70-persistent-net.rulesを殺せばいいのだ:
この場合70-persistent-net.rulesが関連付け保存する事じたいが問題なのだ。
手順1:既にある設定を消す
まずは既に記録されている70-persistent-net.rules記述を消す
sudo vim /etc/udev/rules.d/70-persistent-net.rules
を実行し以下のコメント行以外の部分を全て消して保存しよう。
手順2:70-persistent-net.rulesよ!!さようなら!!
sudo vim /lib/udev/write_net_rules
を実行し以下のように編集します。
編集前:RULES_FILE=’/etc/udev/rules.d/70-persistent-net.rules’
編集後:#RULES_FILE=’/etc/udev/rules.d/70-persistent-net.rules’
RULES_FILE=’/dev/null ‘
これで保存して再起動してみよう。煩わしい設定やsleepの呪文とはおさらばできるはずだ。
どちらのサーバにディスクを差し込んでもIPは192.168.0.1だおめでとう!!
※あくまで例のケースを紹介しています。エラーや警告には必ず原因があるので解決しない時は頭を動かそう!!
参照したサイト等
Ubuntuでオフラインでの起動時に120秒待たされる原因がわかった
http://l1048576.blogspot.jp/2012/05/ubuntu120.html
Ubuntu で Waiting for network configuration エラー
http://4jiokisoft.blogspot.jp/2012/12/ubuntu-waiting-for-network-configuration.html
6.57. Udev-145
http://lfsbookja.osdn.jp/6.5.ja/chapter06/udev.html