Debian でランダムに再起動した後、udev ルールは機能しません。

Debian でランダムに再起動した後、udev ルールは機能しません。

/etc/udev/rules.d/hostname_netinterface.rulesファイルには9つのネットワークインタフェースudevルールがあります。これはesxiの仮想マシンです。再起動後もインターフェイスが変更された後にこのファイルを作成しました。しばらく動作しましたが、数ヶ月後に再起動すると、動作していたのと同じファイルが突然停止しました。

ファイル形式は合計9つです。

file: /etc/udev/rules.d/hostname_netinterface.rules

KERNEL=="eth*", SYSFS{address}=="22:22:33:44:33:22", NAME="eth0"
KERNEL=="eth*", SYSFS{address}=="22:22:33:44:33:44", NAME="eth1"
KERNEL=="eth*", SYSFS{address}=="22:22:33:44:33:55", NAME="eth2"
 and so on up until eth9

syslogを確認しましたが、行1-9について次のように表示されます。

unknown key 'SYSFS{address}' in /etc/udev/rules.d/010_netinterfaces.rules:9

これは Debian の無人セキュリティアップデートによって発生した可能性があります。このアップデートは数ヶ月間機能してきたためです。助けてください。

答え1

なぜそれがうまくいくのかわかりませんが、これを行う場合はudevのネットワークインタフェースを確認することです。

user@host:~$ udevadm info -a -p /sys/class/net/eth0 |grep address
ATTR{address}=="22:22:33:44:33:22"

住所ATTRの前には、代わりが付いていますので参考にしてくださいSYSFS。ファイルを変更して置き換えたところ、SYSFS解決しATTRました。

KERNEL=="eth*", ATTR{address}=="22:22:33:44:33:22", NAME="eth0"

これは以前に動作していたため、「意図しないアップグレード」によってudevが変更されたと仮定します。

答え2

同様の問題に直面しています。私の場合は、.rulesファイルをローカルからターゲットにプッシュしました。 udev ルールが再ロードされると機能します。ただし、ターゲットを再起動するとルールは適用されません。 Soln: 更新された .rules ファイルでイメージを再構築します。これは私にとって効果的です。 udevデーモンが.rulesファイルのビルドタイムチェックサムをチェックしているようです。したがって、ローカルで変更されプッシュされた新しいルールファイルはロードされません。

関連情報