通过预置配置多个 NIC(Ubuntu Server 16.04)

通过预置配置多个 NIC(Ubuntu Server 16.04)

这个问题之前在这里问过,但由于过于局部而被关闭。该帖子中的许多人不同意关闭,因此从未得到答复。如何在 ubuntu-server preseed 中配置两个 NIC?

我正在尝试在安装过程中配置我的 /etc/network/interfaces 文件,最终结果是开箱即用的 dnsmasq DHCP/DNS 服务器。我的预置文件运行良好,无需用户输入即可自动安装操作系统。我尝试使用 di late_command 用我自己的接口文件覆盖默认的 /etc/network/interfaces 文件,但它似乎什么也没做。

我已将新的接口文件与 .seed 文件一起存储在 preseed 文件夹中。我在 preseed 文件中使用此代码用新文件覆盖接口文件。

d-i late_command string cp /cdrom/preseed/interfaces /target/etc/network/interfaces

我也尝试了几种不同的方法来使用不同的命令来执行此操作,例如:

d-i late_command string in-target sudo rm /etc/network/interfaces && mv /cdrom/preseed/interfaces /target/etc/network/interfaces

但这些都无济于事。

我的完整预置文件:

#Ubuntu Server 16.04 LTS unattended installation main file

#Partioning
d-i partman-auto/init_automatically_partition select Guides - use entire  disk
d-i partman-auto/method string regular
d-i partman/choose_partition select finish
d-i partman/confirm_write_new_label boolean true
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

#Clock
clock-setup clock-setup/utc boolean true
clock-setup clock-setup/utc-auto boolean true
d-i time/zone string Europe/London
d-i clock-setup/ntp boolean true

#Network
d-i netcfg/get_hostname string lab-router
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/choose_interface select auto
choose-mirror-bin mirror/http/proxy string  

#Locale
d-i debian-installer/locale string en_GB
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string gb
d-i keyboard-configuration/layoutcode strinsg gb

#User configuration
d-i passwd/user-fullname string Router
d-i passwd/username string router
d-i passwd/user-password password router
d-i passwd/user-password-again password router
d-i user-setup/allow-password-weak boolean true
user-setup-udeb user-setup/encrypt-home boolean false

#Grub Config
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian_ boolean true
d-i finish-install/reboot_in_progress note
grub-installer grub-installer/only_debian boolean true

#Packages
tasksel tasksel/first select none
pkgsel pkgsel/update-policy select none #No automatic updates. 

#Execution after installation
d-i late_command string cp /cdrom/preseed/interfaces /target/etc/network/interfaces

请帮忙?:P

答案1

看来安装程序一旦完成文件中的配置就完成了。

/etc/network/interfaces

将覆盖此

/target/etc/network/interfaces

您可能希望用这个来替换您的 late_command 行。

#Execution after installation
d-i late_command string cp /cdrom/preseed/interfaces /etc/network/interfaces

我在预置中使用了类似的方法来配置我的网络。请注意,如果您将使用脚本来配置/etc/网络/接口,你需要使用 busybox 来运行它,例如:

d-i late_command string wget http://url/to/script -O ./script.sh; \
ash ./script.sh;

或者

./script.sh

如果你的脚本有shebang

#!/bin/ash

相关内容