我已经为基于 Debian 的机器设置了自动安装基础架构。它使用 DHCP 和 TFTP 服务器的 PXE 启动,并预先设置以自动完成操作系统安装。
我想要的是:
- 使用 DHCP 进行 PXE 启动
- 使用 DHCP 进行 Debian 安装程序:它需要一个 IP 地址来访问预置文件,但我不想手动输入
- 在最终安装的操作系统上使用静态 IP 地址。此 IP 地址将在预置文件中指定。
但我不知道如何做到这一点,甚至不知道是否可行。
我当前的预置文件如下所示(仅网络参数):
# netcfg will choose an interface that has link if possible. This makes it
# skip displaying a list if there is more than one interface.
d-i netcfg/choose_interface select auto
# If you prefer to configure the network manually, uncomment this line and
# the static network configuration below.
d-i netcfg/disable_autoconfig boolean true
# If you want the preconfiguration file to work on systems both with and
# without a dhcp server, uncomment these lines and the static network
# configuration below.
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Configure network manually
# Static network configuration.
#
# IPv4 example
d-i netcfg/get_ipaddress string 192.168.1.10
d-i netcfg/get_netmask string 255.255.255.0
d-i netcfg/get_gateway string 192.168.1.254
d-i netcfg/get_nameservers string 192.168.1.1
d-i netcfg/confirm_static boolean true
(我也测试了对该行进行评论,d-i netcfg/disable_autoconfig boolean true
结果相同)。
有人知道怎么做吗?
谢谢。
附言:这是 Debian Wheezy
答案1
安装后,在您自己的命令执行的预置选项中使用:
d-i preseed/late_command string wget http://your-web_or_ftp/unattend/dopostinstall.sh -O /tmp/dopostinstall.sh; chmod +x /tmp/dopostinstall.sh; /tmp/dopostinstall.sh
dopostinstall.sh 类似这样的内容:
#!/bin/ash
echo -e "auto lo eth0 \niface lo inet loopback\n\niface eth0 inet static\n\t address 192.168.1.10\n\t netmask 255.255.255.0\n\t gateway 192.168.1.254\n\t dns-nameservers 192.168.1.1" > /target/etc/network/interfaces