Debian
為什麼我的 systemd 連結文件被忽略?
我想在 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
我的問題是,為什麼介面被命名為 ens2 而不是 enp131s0?
您必須使
update-initramfs -u
這些更改生效。這會將您創建的文件複製/etc/systemd/network/99-default.link
到 initramfs 中,以便在 udev 需要時在早期系統啟動時使用。