私のシステムリンクファイルが無視されるのはなぜですか?

私のシステムリンクファイルが無視されるのはなぜですか?

Debian Stretchで永続的なネットワーク名を有効にしたいのですが、最も信頼性の高い方法はID_NET_NAME_PATH属性を使用するようです。

しかし、私の.linkファイルは無視され、udevはインターフェイスの命名に独自のルールを使用しているようです。

/lib/systemd/network/99-default.link のコピーを作成し、/etc/systemd/network に入れ、NamePolicy を NamePolicy=path に変更しました。

インターフェース例は、パスではなく「スロット」ストラテジーとして名前が付けられているように見えるens2です。 udevadm info /sys/class/net/ens2 を実行すると、次のようになります。

P: /devices/pci0000:80/0000:80:02.0/0000:83:00.0/net/ens2
E: DEVPATH=/devices/pci0000:80/0000:80:02.0/0000:83:00.0/net/ens2
E: ID_BUS=pci
E: ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3]
E: ID_MODEL_ID=0x1003
E: ID_NET_DRIVER=mlx4_en
E: ID_NET_LINK_FILE=/etc/systemd/network/99-default.link
E: ID_NET_NAME_PATH=enp131s0
E: ID_NET_NAME_SLOT=ens2
E: ID_PATH=pci-0000:83:00.0
E: ID_PATH_TAG=pci-0000_83_00_0
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Mellanox Technologies
E: ID_VENDOR_ID=0x15b3
E: IFINDEX=8
E: INTERFACE=ens2
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/ens2
E: TAGS=:systemd:
E: USEC_INITIALIZED=15903053

私の質問は、インターフェイス名がenp131s0ではなくens2であるのはなぜですか?

答え1

update-initramfs -uこれらの変更が適用されることを許可する必要があります。これにより、/etc/systemd/network/99-default.linkudevに必要なときに初期システムの起動時に使用できるように作成されたファイルがinitramfsにコピーされます。

関連情報