hostname NEUERHOSTNAME hostname [OPTIONEN]
Ohne Parameter zeigt der Befehl den kurzen Namen des Rechners an. Dies ist der Teil des FQDN, der links vom ersten Punkt steht.
defiant:~ # hostname defiant
Wird nur ein Argument an den Befehl übergeben, so wird der kurze Name neu gesetzt.
defiant:~ # hostname reliant defiant:~ # hostname reliant defiant:~ # bash reliant:~ #
Lassen Sie sich nicht irritieren. Der neue Namen wird in den Prompt erst aufgenommen, wenn die Bash neu gestartet wird. Der Hostnamen wird nur beim Starten eine Shell ausgelesen.
Natürlich gibt es Optionen, die das Verhalten von hostname steuern.
Optionen | |
-a | --alias |
Alias-Namen des Rechners ausgeben falls vorhanden |
-d | --domain |
Zeigt und legt DNS Domain-Namen fest |
-F | --file |
Den Namen aus der angegeben Datei auslesen |
-f | --fqdn | --long |
Zeigt den Full Qualified Domain Name an |
-h | --help |
Die Hilfe |
-i | --ip-address |
IP-Nummer des Rechners anzeigen |
-s | --short |
Den kurzen Rechnernamen anzeigen (Standard) |
-v | --verbose |
Ausführlichere Informationen |
-y | --yp | --nis |
Der NIS/YP-Domainname |
Schauen wir uns doch mal die Ausgaben des Befehls hostname auf der Basis der Datei /etc/hosts aus Abschnitt 18.2.1 an. Der kurze Hostname ist im System gespeichert. Der FQDN ergibt sich aus der Befragung der Datei /etc/hosts, wie auch die aufgeführten Alias-Namen.
linux37:~ # hostname linux37 linux37:~ # hostname -f linux37.amov.de linux37:~ # hostname -a linux37 willi
Schön zeigt folgendes Beispiel, wie der FQDN ermittelt wird. Solange der gesetzte Hostname eine Entsprechung in der /etc/hosts hat, solange kann auch der FQDN ermittelt werden. Dabei reicht auch einer der gesetzten Alias-Namen schon für die Namensauflösung aus. Sollte der Hostname nicht in der Datei vorhanden sein, kommt es zu einer Fehlermeldung.
linux37:~ # hostname willi linux37:~ # hostname -f linux37.amov.de linux37:~ # hostname falscher linux37:~ # hostname -f hostname: Unknown host
Es gibt zwei symbolische Links auf das Programm hostname. Unter diesen beiden Namen aufgerufen verhält sich das Programm anders als unter seinem echten Namen.
defiant:~ # ls -lG /bin/{host,domain,dnsdomain}name lrwxrwxrwx 1 root 8 2001-05-04 13:11 /bin/dnsdomainname -> hostname lrwxrwxrwx 1 root 8 2001-05-04 13:11 /bin/domainname -> hostname -rwxr-xr-x 1 root 9968 2003-09-23 19:20 /bin/hostname
defiant:~ # dnsdomainname local defiant:~ # hostname -d local
Ein Setzen des Domainnamens ist nicht möglich. Dies kann nur in dem jeweiligen Namensauflösungsverfahren (Bind, NIS oder /etc/hosts) erledigt werden.
defiant:~ # dnsdomainname -d neue.domain.tux dnsdomainname: Mit diesem Program kann der DNS Domainname nicht geändert werden Wenn Bind oder NIS nicht zur Hostnamensauflösung benutzt werden, kann der DNS Domainname (welcher Teil des FQDN ist) in der Datei /etc/hosts geändert werden. defiant:~ # hostname -d neue.domain.tux hostname: Mit diesem Program kann der DNS Domainname nicht geändert werden Wenn Bind oder NIS nicht zur Hostnamensauflösung benutzt werden, kann der DNS Domainname (welcher Teil des FQDN ist) in der Datei /etc/hosts geändert werden.
defiant:~ # domainname mydomain defiant:~ # hostname -y mydomain
Das Setzen des NIS-Domainnamens ist analog zum Hostnamen möglich.
defiant:~ # domainname ypforme defiant:~ # domainname ypforme