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

Ale*_*ord 5 server preseed system-installation

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

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

在此处输入图片说明

不幸的是,安装此时暂停,需要手动按 Tab 键“继续”。

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
Run Code Online (Sandbox Code Playgroud)

您能否看到需要更改/添加哪些内容才能从 DHCP 静态映射中设置主机名,而不必停留在“配置网络”上?

小智 7

网络引导时,某些事情会在预置种子被检索和读取之前进行设置,包括网络。如果它没有在命令行上设置,安装程序会进行猜测并要求您确认,这就是您所看到的。katu txakurra是正确的,您在 preseed 和命令行中指定的主机名和域将被来自 DHCP 的值覆盖,因此将类似以下内容添加到您的内核参数中:

hostname=unassigned-hostname domain=unassigned-domain
Run Code Online (Sandbox Code Playgroud)

既然您说“无人值守”,我假设您已经priority=critical在命令行上进行了设置,以确保仅询问关键问题,但如果没有,也进行设置以减少您需要预置的内容数量


Kat*_*atu 1

更换线路

d-i netcfg/get_hostname seen true
d-i netcfg/get_domain seen true
Run Code Online (Sandbox Code Playgroud)

为了这

d-i netcfg/get_hostname string ahostname
d-i netcfg/get_domain string adomain
Run Code Online (Sandbox Code Playgroud)

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