So ändern Sie den Hostnamen in Fedora 21 dauerhaft

So ändern Sie den Hostnamen in Fedora 21 dauerhaft

Ich habe gehört, dass das Ändern des Hostnamens in neuen Versionen von Fedora mit dem Befehl erfolgt hostnamectl. Darüber hinaus 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 bleiben nach einem Neustart nicht erhalten (entgegen der Behauptung vieler Leute). Was ist falsch?

  • ICHWirklichmöchte nicht manuell bearbeiten /etc/hostname.

Ich möchte auch darauf hinweisen, dass es sich hier um einevollständigStandard-Fedora. Ich bin noch nicht einmal dazu gekommen, meine Kern-Apps zu installieren.

Antwort1

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, mit dem Titel:Hostnamen richtig setzen - 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.

Es gibt einen Fehler in Fedora 21, bei dem SELinux den Hostnamectl-Zugriff verhindert. Er ist hier zu finden und trägt den Titel:Fehler 1133368 - SELinux verhindert, dass systemd-hostnam Zugriffe auf den Datei-Hostnamen „aufhebt“..

Dieser Fehler scheint damit zusammenzuhängen. Es gibt ein Problem mit den SELinux-Kontexten, die /etc/hostnamebei der Installation nicht richtig auf die Datei angewendet werden. Dies äußert sich darin, dass das Tool hostnamectldie Datei nicht bearbeiten kann /etc/hostname. Im selben Thread wurde dieser Workaround angeboten:

$sudo restorecon -v /etc/hostname

NOTIZ:Dass auf Anaconda (das Installationstool) Patches angewendet wurden, sodass dieses Problem für neue Benutzer in Zukunft nicht mehr auftreten sollte.

Antwort2

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

nohook hostname

Dadurch wird verhindert, dass dhcpcd das Skript aufruft, das den Hostnamen Ihres Systems ändert.

Standardmäßig führt dhcpcd alle vorhandenen Hooks aus /lib/dhcpcd/dhcpcd-run-hooks(der Pfad kann auf Ihrem System abweichen). Die Verwendung nohookdeaktiviert bestimmte Hooks.

verwandte Informationen