如何配置 preseed 来从 DHCP 填充主机名,而不是在无人值守安装期间停止在“配置网络”部分?

如何配置 preseed 来从 DHCP 填充主机名,而不是在无人值守安装期间停止在“配置网络”部分?

我正在尝试使用 preseed 为我的 Hadoop 集群节点设置无人值守的 Ubuntu 服务器安装。

主机名通过路由器上的静态映射与 MAC 地址相关联。在安装过程中,主机名会预先填充静态映射中的名称,例如

在此处输入图片描述

不幸的是,安装在此时暂停,需要手动选择“继续”。

当前设置netcfg如下:

d-i netcfg/choose_interface select em1
d-i netcfg/dhcp_timeout string 60
d-i netcfg/disable_dhcp boolean false
d-i netcfg/dhcp_failed note
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/get_hostname seen true
d-i netcfg/get_domain seen true

您能否看到需要更改/添加什么才能从 DHCP 静态映射中设置主机名而不停止在“配置网络”?

答案1

在网络启动时,某些东西会在预置被检索和读取之前进行设置,包括网络。如果未在命令行上设置,安装程序将进行猜测并要求您确认,这就是您所看到的。卡图查库拉正确的是,您在预置和命令行中指定的主机名和域将被 DHCP 的值覆盖,因此在内核参数中添加如下内容:

hostname=unassigned-hostname domain=unassigned-domain

既然你说的是“无人值守”,我假设你已经priority=critical在命令行上设置了确保只询问关键问题,但如果没有,也请设置它以减少你需要预先设置的东西的数量

答案2

更换线条

d-i netcfg/get_hostname seen true
d-i netcfg/get_domain seen true

为了这

d-i netcfg/get_hostname string ahostname
d-i netcfg/get_domain string adomain

任何从 DHCP 分配的主机名和域名都将优先于这些值,但在这里设置它们将停止这个问题。

相关内容