J'installe Debian Wheezy (netinstall) dans VirtualBox en utilisant preseed.cfg
.
J'ai essayé les deux d-i netcfg/get_hostname string somehost
et d-i netcfg/get_hostname string somehost
, mais dans les deux cas, l'hôte est défini comme "debian". J'ai essayé les deux en même temps mais l'hôte est toujours défini comme "debian".
Extrait du guide de Debian sur le fichier de préconfiguration :
Si vous souhaitez forcer un nom d'hôte, indépendamment de ce que le serveur DHCP renvoie ou de l'entrée DNS inversée pour l'IP, décommentez et ajustez la ligne suivante
di netcfg / hostname string somehost
Est-ce un bug ou suis-je simplement malchanceux?
d-i pressed/late_command string in-target /bin/bash -c 'echo $(dig +short -x $(facter ipaddress)) | sed -e \'s/\.$//\' > /etc/hostname'
. Cela utilise "facter" de puppetlabs pour obtenir l'adresse IP mais vous pouvez faire quelque chose de similaire en utilisantip addr
etsed
.Si vous démarrez en réseau (avec PXE et vos amis), le nom d'hôte est configuré avant de récupérer le fichier prédéfini, donc le nom d'hôte doit être défini sur la ligne de commande du noyau comme ceci:
Depuis l' introduction de l'annexe B (sur la préconfiguration) du manuel de l'installateur Debian:
la source
J'ai constaté que ce problème a disparu lorsque j'ai supprimé
priority=critical
les arguments que je transmettais au noyau sur la ligne de commande net install (via les entrées du répertoire pxelinux.cfg).Je suppose que cela signifie que la question qui demande le nom d'hôte a reçu une priorité inférieure à «critique», et est donc remplie avec la réponse par défaut.
Si vous effectuez cette modification, vous constaterez peut-être que vous devez préconfigurer d'autres réponses inférieures à la critique pour d'autres questions plus tard dans le processus d'installation ...
la source
C'est la limitation de l'installateur Debian. Au moment où vous récupérez votre fichier de configuration prédéfini à partir du réseau, il
netcfg
a déjà fait son travail et est parti, il ne récupérera donc pas les valeurs.quelque chose d’officiel est à utiliser dans votre
preseed.cfg
ligne:et en cela
preseed.sh
alors spécifiez:De cette façon, lorsque le réseau est établi et
preseed.cfg
est tiré par les cheveux,preseed.sh
sera également chercher et exécuter, il redémarrenetcfg
qui sera ensuite lire toutes les valeurs préconfiguration pournetcfg/*
et les configurer correctement (/etc/hostsname
,/etc/hosts
,/etc/network/interfaces
si vous réglez la configuration IP statique via préconfiguration , etc.)la source
d-i preseed/early_command string kill-all-dhcp; netcfg
dans votre fichier prédéfini est suffisant. Testé avec Stretch dans une netinstall automatisée.