Changer le nom d'un ordinateur
Dans les blocs de codes ci-dessous, les variables suivantes sont référencées. On considère :
$CURRENT_HOSTNAME
, le nom actuel de machine$NEW_HOSTNAME
, le nom de machine à affecter
Je souhaite modifier le nom de l'ordinateur, fixé par défaut sur rasbperrypi
($CURRENT_HOSTNAME
), par la valeur de mon choix ($NEW_HOSTNAME
).
Récupérer le nom courant de la machine
Pour connaître le nom courant de la machine, il suffit soit :
- de lire la valeur dans le fichier
/etc/hosntame
cat /etc/hostname
- d’exécuter la commande
hostname
hostname
—
Dans un script nous pourrons écrire la ligne suivante. Elle permet de lire la valeur contenu dans le fichier /etc/hostname
, en supprimant les caractères indésirables : retours à la ligne, tabulations, sauts de lignes…
CURRENT_HOSTNAME=`cat /etc/hostname | tr -d " \t\n\r"`
Changer le nom de la machine en ligne de commande
Le nom de la machine doit être des lettres [a-z], insensible à la casse et des chiffres [0-9]. Seul le -
(tiret) est admis comme caractère supplémentaire. Toutefois le nom de la machine ne doit ni commencer, ni finir par le -
(tiret).
Exécuter la commande hostnamectl
1)
Le commande hostnamectl
permet de modifier le nom de la machine avec une prise en compte immédiate. Il faudra toutefois fermer la session puis l'ouvrir de nouveau.
sudo hostnamectl set-hostname $NEW_HOSTNAME
Toutefois, vous pouvez modifier le nom de dans le fichier /etc/hostname
. Il sera nécessaire de redémarrer la machine.
echo $NEW_HOSTNAME > /etc/hostname
Changer les informations du fichier hosts
Modifier le nom dans le fichier /etc/hosts
. Il sera nécessaire de redémarrer la machine.
sed -i "s/127.0.1.1.*$CURRENT_HOSTNAME/127.0.1.1\t$NEW_HOSTNAME/g" /etc/hosts
Changer le DNS / NIC
Prendre en compte les modifications
Se déconnecter puis se connecter de nouveau