Назовите сетевой интерфейс «eth0» с предварительной загрузкой debian вместо «ens192».

#linux #debian #debian-stretch

Вопрос:

У меня проблема с сетевым интерфейсом с моей предварительной подачей.

Вот моя предварительная запись (я помещаю только данные, относящиеся к сети):

 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?

Ответ №1:

Параметры ядра, очевидно, будут применяться только после следующей перезагрузки.

Установщик предлагает хук для запуска произвольного кода после его выполнения из a preseed , чтобы вы могли использовать его для переименования интерфейса и перезапуска конфигурации сети.

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

Очевидно, что что-то нужно будет создать /usr/local/libexec/your-fix-script на более ранней стадии. Вы можете запускать произвольные команды оболочки с этого крючка, но, вероятно, имеет смысл поместить их в файл, если они нетривиальны.