インターフェースの名前eth1
を に変更しましたeth0
。udev
設定を再度読み込むように依頼するにはどうすればよいでしょうか?
service udev restart
そして
udevadm control --reload-rules
役に立ちません。再起動以外に有効な方法はありますか? (はい、再起動はこの問題の解決に役立ちます)
はい、コマンドの先頭に を付けるべきなのはわかっています
sudo
が、上記で投稿したどちらの方法でもifconfig -a
出力は変わりません。 ではeth1
なく が引き続き表示されますeth0
。udev-rule 行のプロパティを変更しました
NAME
。これが無効になる理由はわかりません。
エラーはありません上記で投稿した両方のコマンドを実行しましたが、出力の実際のインターフェース名は変更されませんifconfig -a
。再起動を実行すると、インターフェース名は期待どおりに変更されます。
開発目的で、仮想マシン (VirtualBox 駆動) のクローンを作成し、何らかの方法で事前設定するスクリプトを作成します。
そこで、VM をクローンするコマンドを実行して起動し、ネットワーク インターフェイスの MAC が変更されている限り、udev
2 番目のルールをネットワークの永続ルールに追加します。マシンが初めて起動した直後には、2 つのルールがあります。
eth0
元のVMイメージMACに存在していた限り、存在しないeth1
は存在しますが、すべてのファイルのすべての構成が を参照しているeth0
ため、私にとってはあまり良くありません。
そこで、sed
の行を削除しeth0
(これはクローン イメージでは古く、役に立たない)、eth1
に置き換えますeth0
。現在、有効な永続ルールがありますが、eth1
にはまだ が残っています/dev
。
問題: マシンを再起動したくありません (再起動するとさらに時間がかかり、VM の構築段階では好ましくありません)。/dev
再起動せずにすぐに使用できる VM が用意できるように、何らかのコマンドで再構築したいだけです。
答え1
これがネットワーク構成の再読み込みに役立つかどうかはわかりませんが、/etc/udev/rules.d/70-persistent-cd.rules
DVDデバイスリンクを から に修正し/dev/dvd1
たときに/dev/dvd
、以下を実行する必要がありました。
sudo udevadm trigger
新しいリンクを作成します。
答え2
ここで示されているすべてのアドバイスを正しい順序で組み合わせる必要があります。
- ネットワークをダウンさせる
service networking stop
- カーネルからドライバーモジュールをアンロードする
- モジュールの名前を見つけて
lspci -v
、「使用中のカーネル ドライバー:」を探します。 modprobe -r <driver module>
- モジュールの名前を見つけて
- udevルールを再読み込みする
udevadm control --reload-rules
- 新しいルールを発動する
udevadm trigger
- 負荷ドライバー
modprobe <driver module>
- ネットワークを再起動する
service networking start
- (オプション)起動前にインターフェース名
iptables
を参照したスクリプトを再実行します。eth
手順 4 または手順 5 は実際には必要ないと思いますが、これらの手順は私の場合はうまくいきました。手順 4 の後に手順 2.1 を実行して、トリガー コマンドが既に手順 5 を実行しているかどうかを確認できます。実行している場合は、この回答を編集して結果を反映させます。
答え3
私も同様の問題を抱えていました。再起動に時間をかけたくなかったので、Chris Wesseling の提案に従ってワンライナーを実行しました。
/etc/init.d/networking を停止 && modprobe -r tg3 && udevadm control --reload-rules && udevadm トリガー && modprobe tg3 && /etc/init.d/networking を開始
これは、Ubuntu 12.04.02 サーバーを使用した場合に機能しました。私の NIC は tg3 カーネル モジュール ドライバーを使用していたので、tg3 をインターフェイスが使用しているモジュールに変更します。私が使用しているモジュールは次の場所にあることがわかりました/etc/udev/rules.d/70-persistent-net.rules
。
PCI デバイス 0x14e4:/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.1 (tg3) <- NIC のカーネル モジュール ドライバー
私が抱えていた唯一の問題はルートが悪かったのですが、これは簡単な route add コマンドで修正できました。助けてくれてありがとう、クリス!
答え4
sudo /etc/init.d/udev restart
うまくいくはずです。試したコマンドのいくつかは、 で実行すればsudo
、同様に効果的かもしれません。