udevはネットワークデバイスの名前を変更できません:デバイスまたはリソースが使用中です。

udevはネットワークデバイスの名前を変更できません:デバイスまたはリソースが使用中です。

ネットワークインターフェイスに静的で一貫した名前を付けるためにudevルールを使用しようとしています。ただし、これらの規則がリリースされるたびに常に適用されるのを防ぐ競合状態が発生しているようです。

確認すると、journalctl次のエラーメッセージが表示されます。

systemd-udevd[149]: error changing net interface name eth0 to net0: Device or resource busy

私のルールはとても簡単です。アーチウィキから直接持ってきました。ネットワーク構成

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="wifi0"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="net0"

最初の起動時にどのような問題が発生する可能性があり、この問題を解決するにはどうすればよいですか?

ベストアンサー1

この問題を解決する方法の1つは、systemd-networkdを使用することです。設定ファイル/etc/systemd/network/net0dhcp.network(または同様のファイル)を設定します。

[Match]
Name=net0
[Network]
DHCP=true

上記のnet0名を適切なネットワークインタフェース名に置き換えます。今:

systemctl disable dhcpcd
systemctl enable systemd-networkd

そして再起動してください。 (一部のサービスや他のサービスを再起動できます。特定のサービスが見つからず、すぐに再起動しました。)

私はこれを有線ネットワークでのみテストしました(現在Wi-Fiカードを搭載したデバイスはありません)。したがって、この設定がワイヤレスインターフェイスでどのように機能するかについては言及できません。私の前提は、インターフェイス用の設定ファイルを追加する必要があり、すべてがスムーズに進むと仮定します。もちろん、状況がそれほど簡単に解決されない場合は、いつでも次のことができます。

systemctl disable systemd-networkd
systemctl enable dhcpcd

そして再起動してください。

追加情報:https://wiki.archlinux.org/index.php/Systemd-networkd#Basic_DHCP_network

おすすめ記事