将网络接口命名为 "eth0' with the debian preseed instead of "ens192"

Name the network interface "eth0' with the debian preseed instead of "ens192"

我的 preseed 有网络接口问题。

这是我的预置(我只放了网络相关的数据):

d-i debian-installer/add-kernel-opts string net.ifnames=0
d-i netcfg/choose_interface select auto
d-i netcfg/choose_interface select eth0
d-i netcfg/disable_autoconfig boolean true
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Configure network manually
d-i netcfg/get_ipaddress string 192.168.0.50
d-i netcfg/get_netmask string 255.255.255.0
d-i netcfg/get_nameservers string 8.8.8.8
d-i netcfg/confirm_static boolean true
d-i netcfg/get_hostname string debian-template

部署 Debian 时,在文件 /etc/network/interfaces 中接口始终命名为 ens192 而不是 eth0,尽管添加了:d-i debian-installer/add-kernel-opts string net.ifnames=0.

IP配置无效,必须将接口重命名为eth0并重启网络服务

我应该更改什么以便预置将接口命名为 eth0 而不是 ens192?

内核选项显然只会在下次重启后应用。

安装程序在 preseed 完成后提供了 运行 任意代码的挂钩,因此您可以使用它来重命名接口并重新启动网络配置。

d-i preseed/late_command string /usr/local/libexec/your-fix-script

显然,某些东西需要在更早的阶段创建 /usr/local/libexec/your-fix-script。您可以从此挂钩 运行 任意 shell 命令,但如果它们很重要,将它们放在文件中可能是有意义的。