2.5 KiB
Changer le nom d'un ordinateur
Sur une installation fraîche (par exemple un Raspberry Pi dont le nom par défaut est raspberrypi), il est souvent utile de personnaliser le nom de la machine. Cet article décrit les différentes méthodes pour le faire sous Linux.
Dans les blocs de code ci-dessous, deux variables sont utilisées :
$CURRENT_HOSTNAME: le nom actuel de la machine$NEW_HOSTNAME: le nouveau nom souhaité
Règles de nommage
Un nom de machine valide doit respecter les contraintes suivantes :
- caractères autorisés : lettres
[a-zA-Z], chiffres[0-9]et tiret-; - il ne doit ni commencer ni finir par un tiret ;
- la casse n'est pas significative.
Récupérer le nom courant
Deux méthodes équivalentes permettent de connaître le nom actuel :
cat /etc/hostname
ou
hostname
Dans un script, on peut stocker cette valeur en supprimant au passage les caractères indésirables (espaces, tabulations, retours à la ligne) :
CURRENT_HOSTNAME=$(tr -d " \t\n\r" < /etc/hostname)
Changer le nom de la machine
Méthode recommandée : hostnamectl
La commande hostnamectl modifie le nom de la machine avec une prise en compte immédiate au niveau système. Une simple déconnexion / reconnexion suffit pour que le shell reflète le changement, sans redémarrage.
sudo hostnamectl set-hostname $NEW_HOSTNAME
Méthode alternative : édition directe de /etc/hostname
Il est également possible d'écrire directement la nouvelle valeur dans /etc/hostname. Un redémarrage est alors nécessaire :
echo $NEW_HOSTNAME | sudo tee /etc/hostname
Mettre à jour le fichier /etc/hosts
Pour éviter les avertissements de résolution locale, il faut également remplacer l'ancien nom dans /etc/hosts :
sudo sed -i "s/127.0.1.1.*$CURRENT_HOSTNAME/127.0.1.1\t$NEW_HOSTNAME/g" /etc/hosts
Associer le nom au DNS / NIC
Si la machine est référencée sur un DNS local (par exemple via la box Internet ou un serveur DNS interne), pensez à mettre à jour l'association entre le nouveau nom et l'adresse IP. La capture ci-dessous illustre cette opération :
Prise en compte des modifications
- Avec
hostnamectl: déconnectez puis reconnectez votre session. - Avec une édition manuelle de
/etc/hostnameou/etc/hosts: redémarrez la machine.
Source : @whiterabbit441 sur Twitter
