Estoy instalando Debian Wheezy (netinstall) en VirtualBox usando preseed.cfg
.
Intenté ambos d-i netcfg/get_hostname string somehost
y d-i netcfg/get_hostname string somehost
, pero en ambos casos el host se configura como "debian". Intenté ambos al mismo tiempo, pero aún así el host está configurado como "debian".
Extracto de la guía de Debian sobre el archivo de preconfiguración :
Si desea forzar un nombre de host, independientemente de lo que devuelva el servidor DHCP o la entrada DNS inversa para la IP, elimine el comentario y ajuste la siguiente línea
di netcfg / hostname string somehost
¿Es esto un error o solo tengo mala suerte?
d-i pressed/late_command string in-target /bin/bash -c 'echo $(dig +short -x $(facter ipaddress)) | sed -e \'s/\.$//\' > /etc/hostname'
. Esto usa "facter" de puppetlabs para obtener la dirección IP, pero podría hacer algo similar usandoip addr
ysed
.Si está iniciando en la red (con PXE y amigos), el nombre de host se configura antes de recuperar el archivo preestablecido, por lo que el nombre de host debe establecerse en la línea de comandos del kernel de la siguiente manera:
De la introducción del apéndice B (sobre la preselección) del manual del instalador de Debian:
fuente
Encontré que este problema desapareció cuando eliminé
priority=critical
eliminé los argumentos que estaba pasando al núcleo en la línea de comando de instalación de red (a través de las entradas del directorio pxelinux.cfg).Supongo que esto significa que a la pregunta que le pregunta al nombre de host se le ha dado una prioridad inferior a 'crítica', por lo que se completa con la respuesta predeterminada.
Si realiza este cambio, es posible que tenga que preseleccionar algunas otras respuestas inferiores a las críticas para otras preguntas más adelante en el proceso de instalación ...
fuente
Es la limitación del instalador de Debian. En el momento en que obtiene su archivo de configuración preestablecido de la red,
netcfg
ya ha hecho su trabajo y ya no está, por lo que no volverá a buscar valores.kludge algo oficial es usar en su
preseed.cfg
línea:y en eso
preseed.sh
luego especifique:De esa manera, cuando la red se establezca y
preseed.cfg
se recupere,preseed.sh
también se recuperará y ejecutará, por lo que se reiniciará,netcfg
lo que leerá todos los valores predeterminadosnetcfg/*
y los configurará correctamente (/etc/hostsname
,/etc/hosts
,/etc/network/interfaces
Si va a configurar la dirección IP estática de configuración a través de preconfiguración, etc.)fuente
d-i preseed/early_command string kill-all-dhcp; netcfg
en su archivo preseleccionado es suficiente. Probado con Stretch en un netinstall automatizado.