Ich habe gehört, dass das Ändern des Hostnamens in neuen Versionen von fedora mit der Befehl. Außerdem habe ich kürzlich (und erfolgreich) meinen Hostnamen unter Arch Linux mit dieser Methode geändert. Beim Ausführen jedoch:

 [root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain  

Die Änderungen werden nach einem Neustart nicht beibehalten (im Gegensatz zu den Behauptungen vieler Leute, dass dies der Fall ist). Was ist falsch?

  • Ich möchte wirklich nicht /etc/hostname manuell bearbeiten.

Ich sollte auch beachten, dass dies ein vollständig Aktien-Fedora ist. Ich bin noch nicht einmal dazu gekommen, meine Kern-Apps zu installieren.

Kommentare

  • Dies hatte ähnliche Informationen auch zu dem Problem: ask.fedoraproject.org/en/question/37413/… & dies: dbaora.com/install-fedora-20
  • In der Tat ist dies eine meiner Quellen. Keine der Lösungen, die ich von dieser Seite extrahieren konnte, funktionierte jedoch …
  • Wie kürzlich haben Sie dieses System installiert / eingerichtet? Ist das Problem seit der Installation aufgetreten? Gibt es auch Fehler mit den Befehlen hostnamectl? Der Link zu dem Bugzilla-Fehler, den etwas gepostet hat, scheint Ihr bester Hinweis zu sein.
  • Ich habe am 01.10.14 installiert, und seitdem haben die Befehle hostnamectl dies nicht mehr getan arbeiten, aber jetzt tun sie es.
  • Der Fehler, der mit der akzeptierten Lösung verbunden ist, war nur ein unglücklicher Zeitpunkt für Sie. Sie ' haben es stromaufwärts behoben und es sollte sich für zukünftige Benutzer herausarbeiten.

Antwort

Der Befehl zum Festlegen des Hostnamens lautet definitiv hostnamectl.

root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE" 

Hier ist eine zusätzliche Quelle, die diese Funktionalität etwas ausführlicher beschreibt: Richten Sie den Hostnamen korrekt ein – Fedora 20 auf Amazon EC2 .

Zusätzlich die Manpage für hostnamectl:

HOSTNAMECTL(1) hostnamectl HOSTNAMECTL(1) NAME hostnamectl - Control the system hostname SYNOPSIS hostnamectl [OPTIONS...] {COMMAND} DESCRIPTION hostnamectl may be used to query and change the system hostname and related settings. This tool distinguishes three different hostnames: the high-level "pretty" hostname which might include all kinds of special characters (e.g. "Lennart"s Laptop"), the static hostname which is used to initialize the kernel hostname at boot (e.g. "lennarts-laptop"), and the transient hostname which is a default received from network configuration. If a static hostname is set, and is valid (something other than localhost), then the transient hostname is not used. Note that the pretty hostname has little restrictions on the characters used, while the static and transient hostnames are limited to the usually accepted characters of Internet domain names. The static hostname is stored in /etc/hostname, see hostname(5) for more information. The pretty hostname, chassis type, and icon name are stored in /etc/machine-info, see machine-info(5). Use systemd-firstboot(1) to initialize the system host name for mounted (but not booted) system images. 

In Fedora 21 gibt es einen Fehler, bei dem SELinux den Zugriff auf hostnamectl verhindert , gefunden hier mit dem Titel: Fehler 1133368 – SELinux verhindert, dass systemd-hostnam Zugriffe auf die Datei hostname „aufhebt“ .

Dieser Fehler scheint verwandt zu sein. Es gibt ein Problem damit, dass die SELinux-Kontexte bei der Installation nicht ordnungsgemäß auf die Datei /etc/hostname angewendet werden. Dies zeigt sich darin, dass das Tool hostnamectl die Datei /etc/hostname nicht bearbeiten kann. Derselbe Thread bot diese Problemumgehung an:

$sudo restorecon -v /etc/hostname 

HINWEIS: Diese Patches wurden auf Anaconda (das Installationstool) angewendet, damit dieses Problem in Zukunft für neue Benutzer behoben wird.

Antwort

Die wahrscheinliche Ursache dafür ist Ihr DHCP-Client. Wenn Sie „dhcpcd“ verwenden, was häufig vorkommt, besteht die Lösung darin, /etc/dhcpcd.conf die folgende Zeile hinzuzufügen:

nohook hostname 

Dies verhindert, dass dhcpcd das Skript aufruft, das Ihren Systemhostnamen ändert.

Standardmäßig führt dhcpcd alle vorhandenen Hooks aus /lib/dhcpcd/dhcpcd-run-hooks (der Pfad kann unterschiedlich sein auf Ihrem System). Wenn Sie nohook verwenden, werden bestimmte deaktiviert.

Kommentare

  • Für meine 21 und Bei der Installation von rawhide ist /etc/dhcpd.conf nicht vorhanden. Außerdem gibt systemctl status dhcpcd not-found (Reason: No such file or directory)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.