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
を再構築したいので、準備ができています-to-use VM再起動なし。
これがネットワーク構成の再読み込みに役立つかどうかはわかりませんが、/etc/udev/rules.d/70-persistent-cd.rules
を変更してDVDデバイスのリンクを/dev/dvd1
から/dev/dvd
に修正したとき、実行する必要がありました
Sudo udevadm trigger
新しいリンクを作成します。
ここに記載されているすべてのアドバイスを正しい順序で組み合わせる必要があります。
service networking stop
lspci -v
を見つけて、「使用中のカーネルドライバー:」を探します。modprobe -r <driver module>
udevadm control --reload-rules
udevadm trigger
modprobe <driver module>
service networking start
iptables
インターフェイス名を参照していたeth
スクリプトを再実行します。ステップ4またはステップ5は実際には必要ではないと思われますが、これらのステップはうまくいきました。ステップ4の後、ステップ2.1でトリガーコマンドが既にステップ5を実行しているかどうかを確認し、この回答を編集して、結果を反映させます。
同様の問題がありました。再起動するのに時間をかけたくなかったので、Chris Wesselingの提案を使用して1つのライナーを実行しました。
/etc/init.d/networking stop && modprobe -r tg3 && udevadm control --reload-rules && udevadm trigger && modprobe tg3 && /etc/init.d/networking start
これは、Ubuntu 12.04.02サーバーを使用して機能しました。私のnicsは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用のカーネルモジュールドライバー
私が抱えていた1つの問題は、単純なルート追加コマンドで修正した悪いルートでした。クリスに助けてくれてありがとう!
これは私のために働いた(再起動せずに)
udevadm control --reload-rules ; udevadm trigger
このページの著者への称賛: http://memoryfail.wordpress.com/2013/04/02/renaming-network-device-names/
Sudo /etc/init.d/udev restart
はトリックを行う必要があります。試みたコマンドのいくつかは、Sudo
で実行した場合、同様に効果的かもしれません。
これは安全に行う必要があります:
Sudo reload udev
私は問題なくこのコマンドを使用したので。
私はこれとほぼ同じ目的でしばらく研究してきましたが、ライブシステムでネットワークインターフェイス名を変更する方法を見つけることができませんでした。
私が行った回避策は、テンプレート内の/etc/udev/rules.d/70-persistent-net.rulesファイルを削除することです。つまり、次回の起動時に、ネットワークカードがeth0として表示されます。
devをリロードしてルールの変更をトリガーする必要がありますが、ドライバーモジュールをアンロード/リロードしない限り、デバイスの名前は変更されません。
したがって、modprobe -r e1000 && modprobe e1000
は、udevのリロード後のトリックを行う必要があります。もちろん、ネットワークが必要で、e1000インターフェースしかない場合はそうしないでください。
そのため、Ubuntu 12.04を使用するVirtualBoxの場合、イーサネットとワイヤレスを頻繁に切り替えます。
したがって、接続が変更されたら、[デバイス]> [ネットワーク設定]から[ブリッジアダプター]を選択する必要があります。 「Intel 82579LMギガビットネットワーク接続」または「Intel Centrino Ultimate-N 6300 AGN」のいずれか。
これを実行した後、私は実行することができます
Sudo modprobe -r e1000
Sudo service udev restart
Sudo modprobe e1000
ping google.com # To test I ran this between each command.
これは、上記のすべての答えを読んだ後の私の結果の単なる説明です。
udevadm trigger