Die wichtigste Funktion von /etc/hostname ist, dass man unter SSH (bzw. in der Shell überhaupt) den Hostnamen angezeigt kriegt. D.h. wenn man mehrere Rootserver hat, sollte man dort jeweils den Namen anzeigen, der dem Administrator mit dem wenigsten Nachdenken anzeigt, auf welcher Maschine er grad rumturnt.
Dass die Internetdienste diese Angabe brauchen, ist (beinahe) ein Gerücht.
FTP-Daemons beispielsweise ist es wurschtegal, unter welchem Namen sie angesprochen werden; sie kriegen Benutzername und Passwort und legen darüber fest, auf welches Verzeichnis sie zugreifen.
Apache ist es auch egal, was in /etc/hostname steht. Apache stützt sich auf eine Konfigurationsdatei.
Allerdings wird /etc/hostname immer gern genommen, wenn eine Distribution einen Dienst installiert, dafür den Hostnamen benötigt, und nicht beim Administrator nachfragen möchte.
Letztlich ist es eine Frage der Administrationspolitik. Möchte ich, dass die Sachen möglichst ohne Nachfragen "von selbst" funktionieren? Wenn die Maschine nur einen einzigen Domainnamen hat, kann man den tatsächlich in /etc/hostname eintragen und hat weniger Konfigurationsarbeit. Möchte ich andererseits, dass die Dinge möglichst überhaupt nicht funktionieren, so dass ich merke, wenn ich einen Dienst noch nicht durchkonfiguriert habe? Dann macht es womöglich sogar Sinn, absichtlich einen ungültigen Namen einzutragen. (Auf den von mir administrierten Servern gehen wir einen Mittelweg: die "Hauptpräsenz" ist
http://firma.de, die administrativen Zugänge sind unter
http://firma1.de,
http://firma2.de usw. erreichbar, die eigentlichen Präsenzen haben davon unabhängige Namen. In /etc/hostname steht je nach Server firma1, firma2, ... - allerdings sind die Resolver darauf eingestellt, das .de *nicht* dranzuhängen, d.h. 'ping firma2' funktioniert von Server firma1 aus nicht. Funktioniert alles wunderbar, aber bei unseren Servern werden Apache usw. von Confixx durchkonfiguriert, da ist der Eintrag unter /etc/hostname egal.)