Jai entendu dire que changer le nom dhôte dans les nouvelles versions de fedora se fait avec le hostnamectl
. De plus, jai récemment (et avec succès) changé mon nom dhôte sur Arch Linux avec cette méthode. Cependant, lors de lexécution:
[root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain
Les modifications ne sont pas conservées après un redémarrage (contrairement à ce que prétendent de nombreuses personnes). Quel est le problème?
- Je ne veux vraiment pas modifier
/etc/hostname
manuellement.
Je dois également noter quil sagit dun fedora complètement stock. Je nai même pas encore réussi à installer mes applications principales.
Commentaires
Réponse
La commande pour définir le nom dhôte est définitivement, hostnamectl
.
root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE"
Voici une source supplémentaire qui décrit un peu plus cette fonctionnalité, intitulée: Définition correcte du nom dhôte – Fedora 20 sur Amazon EC2 .
De plus, la page de manuel pour 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.
Il y a un bogue dans Fedora 21 où SELinux empêche laccès hostnamectl , trouvé ici, intitulé: Bogue 1133368 – SELinux empêche systemd-hostnam de « dissocier » les accès sur le fichier hostname .
Ce bogue Il semble y avoir un problème avec les contextes SELinux qui ne sont pas appliqués correctement au fichier /etc/hostname
lors de linstallation. Cela se manifeste par le fait que loutil hostnamectl
ne peut pas manipuler le fichier /etc/hostname
. Ce même fil offrait cette solution de contournement:
$sudo restorecon -v /etc/hostname
REMARQUE: Que des correctifs ont été appliqués à Anaconda (loutil dinstallation) afin que ce problème disparaisse à lavenir pour les nouveaux utilisateurs.
Réponse
La cause probable de ceci est votre client DHCP. Si vous « utilisez dhcpcd, ce qui est courant, la solution consiste à ajouter la ligne suivante à /etc/dhcpcd.conf
:
nohook hostname
Cela empêche dhcpcd dappeler le script qui change le nom dhôte de votre système.
Par défaut, dhcpcd exécute tous les hooks présents /lib/dhcpcd/dhcpcd-run-hooks
(le chemin peut différer sur votre système). Lutilisation de nohook
désactive certains dentre eux.
Commentaires
- Pour mes 21 et rawhide installs,
/etc/dhcpd.conf
nexiste pas. De plus,systemctl status dhcpcd
renvoienot-found (Reason: No such file or directory)
hostnamectl
? Le lien vers le bogue bugzilla que quelque chose a posté semble être votre meilleure piste.hostnamectl
nont pas fonctionnent, mais maintenant ils le font.