Um den Hostname zum Beispiel von Ubuntu64 auf earth im laufendem Betrieb zu ändern, gehen wir wie folgt vor. Zuerst ändern wir die Datei /etc/hosts
.
root:~# vi /etc/hosts
....
127.0.0.1 localhost
80.82.223.37 earth
....
Dann tragen wir den Hostname earth in der Datei /proc/sys/kernel/hostname
ein.
root:~# echo "earth" >/proc/sys/kernel/hostname
Nun ändern wir den Hostname in der Datei /etc/hostname
. Bei manchen Systeme (ich glaube RedHat) ist die Datei groß geschrieben, dann ändern wir eben die Datei /etc/HOSTNAME
.
root:~# echo "earth" >/etc/hostname
Existiert die Datei /etc/mailname
tragen wir hier den FQDN ein.
echo "earth.example.com" >/etc/mailname
Wenn wir ein Postfix installiert haben, ändern wir den Hostname (myhostname) noch in der Datei /etc/postfix/main.cf
.
root:~# vi /etc/postfix/main.cf
....
myhostname = earth.example.com
....
Nun erstellen wir noch die SSH Keys für den neuen Hostname.
root:~# if [ -f /etc/ssh/ssh_host_dsa_key ]; then rm /etc/ssh/ssh_host_dsa_key && ssh-keygen -q -t dsa -P "" -f /etc/ssh/ssh_host_dsa_key; fi
root:~# if [ -f /etc/ssh/ssh_host_rsa_key ]; then rm /etc/ssh/ssh_host_rsa_key && ssh-keygen -q -t rsa -P "" -f /etc/ssh/ssh_host_rsa_key; fi
Nun sollten wir als neuen Hostnamen earth haben. Eventuell sollten wir noch den syslog-ng
(falls vorhanden) neu starten, damit die Logfiles mit dem neuen Hostname geschrieben werden.
Das alles können wir uns auch in einem Skript packen und dann mit entsprechenden Parameter ausführen. Ich habe da mal was vorbereitet. Ihr könnt das Skript chhost nutzen umd den Hostnamen im laufenden Betrieb zu ändern. Zuerst solltet ihr das Skript mit dem Parameter -h
aufrufen, dann wird eine Hilfe zum Skript angezeigt.