Ich installiere Debian Wheezy (netinstall) in VirtualBox mit preseed.cfg
.
Ich habe beide d-i netcfg/get_hostname string somehost
und ausprobiert d-i netcfg/get_hostname string somehost
, aber in beiden Fällen wird der Host auf "debian" gesetzt. Ich habe beide gleichzeitig ausprobiert, aber der Host ist immer noch auf "debian" eingestellt.
Auszug aus dem Debian-Handbuch über die Vorkonfigurationsdatei :
Wenn Sie einen Hostnamen erzwingen möchten, unabhängig davon, was der DHCP-Server zurückgibt oder wie der umgekehrte DNS-Eintrag für die IP lautet, deaktivieren Sie die folgende Zeile und passen Sie sie an
di netcfg / hostname string irgendwo
Ist das ein Fehler oder habe ich einfach Pech?
d-i pressed/late_command string in-target /bin/bash -c 'echo $(dig +short -x $(facter ipaddress)) | sed -e \'s/\.$//\' > /etc/hostname'
. Dabei wird "facter" von Puppetlabs verwendet, um die IP-Adresse abzurufen. Sie können jedoch mitip addr
und etwas Ähnliches tunsed
.Wenn Sie mit PXE und Freunden im Netz booten, wird der Hostname vor dem Abrufen der Voreinstellungsdatei eingerichtet. Der Hostname sollte daher in der Kernel-Befehlszeile wie folgt festgelegt werden:
Aus der Einführung des Anhangs B (zur Voreinstellung) des Debian-Installer-Handbuchs:
quelle
Ich stellte fest, dass dieses Problem behoben war, als ich
priority=critical
die Argumente entfernte, die ich an den Kernel in der Befehlszeile net install (über die Verzeichniseinträge pxelinux.cfg) weitergab.Ich nehme an, dies bedeutet, dass der Frage, die nach dem Hostnamen fragt, eine Priorität zugewiesen wurde, die niedriger als "kritisch" ist und daher mit der Standardantwort gefüllt wird.
Wenn Sie diese Änderung vornehmen, werden Sie möglicherweise feststellen, dass Sie später im Installationsprozess einige weniger wichtige Antworten auf andere Fragen vorbereiten müssen ...
quelle
Es ist eine Debian-Installer-Einschränkung. Wenn Sie Ihre vordefinierte Konfigurationsdatei aus dem Netzwerk
netcfg
abrufen , ist sie bereits erledigt und nicht mehr vorhanden, sodass die Werte nicht erneut abgerufen werden.etwas offizieller kludge ist in deiner
preseed.cfg
linie zu verwenden:und darin
preseed.sh
dann spezifizieren:Auf diese Weise, wenn das Netzwerk aufgebaut und
preseed.cfg
wird abgerufen,preseed.sh
wird auch holen und ausgeführt werden, so wird es neu starten ,netcfg
die dann alle preseed Werte für lesennetcfg/*
und konfiguriert , dass sie richtig (/etc/hostsname
,/etc/hosts
,/etc/network/interfaces
wenn Sie auf Einstellung statische IP - Konfiguration über preseed etc)quelle
d-i preseed/early_command string kill-all-dhcp; netcfg
In Ihrer Voreinstellungsdatei ist genug. Getestet mit Stretch in einer automatisierten Netzinstallation.