Ubuntu- Hostnamen automatisch setzen

In unterschiedlichsten Situationen, wie z,B. dem automatischen Erzeugen von neuen Maschinen aus einem Image, kann es nützlich sein den Hostnamen automatisch basierend auf der MAC Adresse zu setzen. Unter Ubuntu und sicherlich auch weiteren Linux- Distributionen bietet es sich an hierfür unter /etc/network/if-up.d ein Script abzulegen.


#! /bin/sh
HOSTNAME=lab`ifconfig eth0 | awk '/HWaddr/ { print $5 }'|sed 's/://g'`
echo $HOSTNAME > /etc/hostname
hostname $HOSTNAME
Dieses Script wird damit automatisch bei jedem Up- Event der Netzwerkkarte ausgeführt, ändert den Hostnamen direkt und passt die Datei /etc/hostname an.
Der Name setzt sich aus den Buchstaben lab gefolgt von der MAC-Adresse ohne jegliche Trennzeichen zusammen.