I. Présentation
Sur des distributions RedHat antérieures à la version 7 (ainsi que sur des distributions CentOS 6.x), lorsque l’on souhaitait modifier le nom du serveur local, on devait éditer le fichier /etc/sysconfig/network et modifier le champ HOSTNAME :
# vi /etc/sysconfig/network
…
HOSTNAME=xxxxxxxx
La modification était alors prise en compte lors du redémarrage de la machine. Si l’on souhaitait une modification immédiate, il fallait alors exécuter la commande suivante :
# hostname xxxxxxxx
La vérification s’effectuait alors en utilisant la commande hostname sans argument, et, éventuellement en se déconnectant afin de fermer sa session et en ouvrir une nouvelle :
# hostname
xxxxxxxx
II. La commande hostnamectl
Depuis la version CentOS7 et l’apparition de SystemD, il existe une commande hostnamectl fort pratique, pour ce genre de modification.
REMARQUE :
dans le cas où la forme statique du nom de machine est déclarée, la forme "transient" n’est alors plus utilisée. C’est généralement ce que l’on fait en déclarant le nom de la machine dès la phase d’installation.
Le nom de machine statique est déclaré dans le fichier /etc/hostname .
Si l’on souhaite interroger son serveur et distinguer les trois catégories de noms, il faut le faire à l’aide de la commande suivante :
# hostnamectl status
Pour pouvoir modifier le nom d’un serveur, il suffit alors uniquement de remplacer l’option status de l’interrogation précédente, par set-hostname dans la commande.
# hostnamectl set-hostname xxxxxxxx
Pour s’assurer du changement, on peut exécuter les commandes suivantes :
# hostnamectl status
III. Conclusion
Il est vrai que cette nouvelle commande hostnamectl (ainsi que d’autres associées à l’environnement SystemD), est vraiment très pratique, car elle permet de mettre à jour rapidement (et sans erreur possible), le nom de machine d’un serveur. De plus, la commande hostnamectl peut interagir avec les conteneurs locaux (option --machine=), ou être pilotée à distance (option --host=). Afin d’identifier de façon nette et précise les machines, on peut même préciser la localisation de ses serveurs, grâce à l’option set-location.