J'ai entendu dire que changer le nom d'hôte dans les nouvelles versions de Fedora se faisait avec la commande hostnamectl
. De plus, j'ai récemment (et avec succès) changé mon nom d'hôte sur Arch Linux avec cette méthode. Cependant, lors de l'exé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 de nombreuses personnes prétendent que c'est le cas). Qu'est-ce qui ne va pas?
/etc/hostname
manuellement.Je devrais également noter qu'il s'agit d'un complètement stock Fedora. Je n'ai même pas encore réussi à installer mes applications principales.
La commande pour définir le nom d'hô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 d'hôte - Fedora 20 sur Amazon EC2 .
De plus, la page de manuel de 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 l'accès à hostnamectl, trouvé ici, intitulé: Bogue 1133368 - SELinux empêche systemd-hostnam de "dissocier" les accès sur le nom d'hôte du fichier .
Ce bug semble être lié. Il y a un problème avec les contextes SELinux qui ne sont pas appliqués correctement au fichier /etc/hostname
lors de l'installation. Cela se manifeste dans l'outil hostnamectl
ne pouvant pas manipuler le fichier /etc/hostname
. Ce même fil a proposé cette solution:
$Sudo restorecon -v /etc/hostname
REMARQUE: Ces correctifs ont été appliqués à Anaconda (l'outil d'installation) afin que ce problème disparaisse à l'avenir pour les nouveaux utilisateurs.
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 d'appeler le script qui modifie le nom d'hô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). L'utilisation de nohook
en désactive certaines.