Je veux changer le nom d'hôte du système d'exploitation mais je ne veux pas redémarrer.
J'ai édité /etc/hostname
mais elle nécessite un redémarrage pour être mise en œuvre. Comment éviter cela ?
Je veux changer le nom d'hôte du système d'exploitation mais je ne veux pas redémarrer.
J'ai édité /etc/hostname
mais elle nécessite un redémarrage pour être mise en œuvre. Comment éviter cela ?
Voici un script qui change le nom d'hôte de la manière prescrite. Il garantit que non seulement sudo
mais aussi les applications X11 continuent de fonctionner sans qu'un redémarrage soit nécessaire.
Utilisation : sudo ./change_hostname.sh new-hostname
#!/usr/bin/env bash
NEW_HOSTNAME=$1
echo $NEW_HOSTNAME > /proc/sys/kernel/hostname
sed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hosts
echo $NEW_HOSTNAME > /etc/hostname
service hostname start
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
Que fait la dernière ligne de script su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
faire ? Je suis juste curieux.
@Fr0zenFyr : il faut un jeton d'authentification X11 valide ( xauth list
) et remplace l'ancien nom d'hôte par le nouveau nom d'hôte ( sed
). Alors awk
met des guillemets autour du premier argument de xauth add
parce que xauth
Le format d'entrée et le format de sortie de l'entreprise ne sont pas symétriques.
Merci pour l'explication. J'avais toujours redémarré pour que les changements prennent effet. +1
/etc/hostname
avec le nom d'hôte souhaité (vous pouvez le modifier avec sudo nano /etc/hostname
)/etc/hosts
remplacez l'entrée à côté de 127.0. 1 .1 avec le nom d'hôte désiré (vous pouvez modifier avec sudo nano /etc/hosts
)sudo service hostname restart; sudo service networking restart
Attention : ne fonctionnera pas avec Ubuntu 18+ qui exécute cloud-init par défaut, qui contrôle le nom d'hôte au démarrage.
@nslntmnx êtes-vous sûr de cela ? Je vois dans le fichier cloud-config.txt # if you do nothing you'll end up with: # * /etc/hostname (and 'hostname') managed via: 'preserve_hostame: false' # if you do not change /etc/hostname, it will be updated with the cloud # provided hostname on each boot. If you make a change, then manual # maintenance takes over, and cloud-init will not modify it.
Je n'ai pas encore Ubuntu 18, je ne peux donc pas le tester avant le week-end.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.
3 votes
Attention : ne fonctionnera pas avec Ubuntu 18+ qui exécute cloud-init par défaut, qui contrôle le nom d'hôte au démarrage.
0 votes
@nslntmnx, Merci !