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 ?
C'est très simple. Il suffit de cliquer sur l'icône représentant une roue dentée (située dans le coin supérieur droit de l'écran), d'ouvrir l'écran "À propos de cet ordinateur" (situé sur l'icône représentant une roue dentée) et de modifier le "Nom du périphérique".
Ou, dans un terminal, utilisez la commande suivante :
sudo hostname your-new-name
Ceci définira le nom d'hôte à votre nouveau nom jusqu'à ce que vous redémarriez. Voir man hostname
y Comment changer le nom de l'ordinateur ? pour de plus amples informations. Ne pas utiliser _
en votre nom.
Note
Après un redémarrage, vos modifications dans /etc/hostname
sera utilisé, donc (comme vous l'avez dit dans la question), vous devriez quand même utiliser
sudo -H gedit /etc/hostname
(ou un autre éditeur) pour que ce fichier contienne le nom d'hôte.
Pour vérifier que le fichier est correctement configuré, exécutez :
sudo service hostname start
Vous devez également modifier /etc/hosts
et changez la ligne qui dit :
127.0.1.1 your-old-hostname
afin qu'il contienne maintenant votre nouveau nom d'hôte. (Ceci est nécessaire, sinon de nombreuses commandes cesseront de fonctionner).
Je sais. C'est pourquoi vous devez utiliser la commande 'hostname'. Je voulais juste préciser que la commande 'hostname' ne change le nom de l'hôte que jusqu'à ce que vous redémarriez/crashiez/etc. Ensuite, le nom sera de nouveau lu dans le fichier.
Merci. Cela signifie qu'après avoir changé le nom d'hôte, nous devons redémarrer, n'est-ce pas ?
El hostnamectl
fait partie de l'installation par défaut des éditions Desktop et Server.
Il combine la définition du nom d'hôte via l'option hostname
commande et édition /etc/hostname
. En plus de définir le nom d'hôte statique, il peut définir le "joli" nom d'hôte, qui n'est pas utilisé dans Ubuntu. Malheureusement, l'édition de /etc/hosts
doit toujours être fait séparément.
hostnamectl set-hostname new-hostname
Cette commande fait partie de la systemd-services
(qui, à partir d'Ubuntu 14.04, comprend également le paquet timedatectl
y localectl
commandes). Comme Ubuntu migre vers systemd
cet outil est l'avenir.
Notez que cela n'est pas disponible partout. Je viens de regarder sur mon installation Ubuntu 14.04 LTS ARM-7, et hostnamectl
n'existe pas. Je suppose que certaines versions d'Ubuntu n'utilisent pas encore systemd.
@Stéphane les commandes font partie de la suite systemd, mais elles sont disponibles indépendamment. Dans ce cas, 13.04-14.10 n'utilisent pas systemd comme init, par la commande est disponible.
@muru, vous montrez que 2 éléments sont nécessaires : l'édition de /etc/hosts
et en invoquant hostnamectl
. Je pense qu'il devrait y avoir un 3ème élément qui serait similaire à export HOSTNAME=xxx
. L'ordre peut également avoir de l'importance. J'ai des problèmes pour invoquer sudo
si l'ordre est mauvais. J'en déduis que sudo
dépend de /etc/hosts
il est donc préférable de faire celle-là en premier si l'une des deux autres opérations requiert sudo
.
Changer le nom d'hôte ou le nom de l'ordinateur dans ubuntu sans redémarrage
Modifiez le fichier /etc/hostname et remplacez-le par la nouvelle valeur,
nano /etc/hostname
Modifiez le fichier /etc/hosts et remplacez l'ancienne ligne 127.0.1.1 par votre nouveau nom d'hôte.
127.0.0.1 localhost
127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
Note : je l'ai lu sur un forum > Editez /etc/hosts et changez l'ancienne ligne 127.0.1.1 par votre nouveau nom d'hôte (si vous ne le faites pas, vous ne pourrez plus utiliser sudo. Si vous l'avez déjà fait, appuyez sur ESC dans le menu Grub, choisissez recovery, et éditez votre fichier host avec les paramètres corrects).
Après un redémarrage, votre nom d'hôte sera celui que vous avez choisi.
Pour changer sans redémarrage vous pouvez simplement utiliser hostname.sh après avoir modifié /etc/hostname. Vous devez conserver vos deux noms d'hôtes dans /etc/hosts (127.0.0.1 newhost oldhost) jusqu'à ce que vous exécutiez la commande ci-dessous :
sudo service hostname start
Note : Commande ci-dessus pour rendre le changement actif. Le nom d'hôte enregistré dans ce fichier (/etc/hostname) sera préservé au redémarrage du système (et sera défini en utilisant le même service).
Sur Ubuntu 12.10, la dernière partie ne fonctionne pas avec le message d'erreur suivant sudo: unable to resolve host old-hostname
. Pour cette partie, la solution de @jesperado fonctionne bien.
Si vous ne mettez pas à jour /etc/hosts
Dans le cas de la version 12.04.2 LTS, les choses commencent à se gâter, y compris l'application w
commande, Apache, /sbin/reboot
et bien plus encore. Assurez-vous de mettre à jour /etc/hosts
Vous faites référence aux deux 127.0.0.1
para localhost
y 127.0.1.1
pour un nom d'hôte personnalisé. N'est-ce pas ? Ensuite, vers la fin de votre réponse, pour une action sans rebot vous faites référence /etc/hosts
y 127.0.0.1 newhost oldhost
. Il n'y a donc pas besoin d'un 127.0.1.1
adresse ?
Le nom par défaut a été défini lors de l'installation d'Ubuntu. Vous pouvez facilement le changer pour ce que vous voulez, à la fois pour le bureau et le serveur, en modifiant les fichiers hosts et hostname. Voici comment procéder :
sudo hostname NEW_NAME_HERE
Cela changera le nom d'hôte jusqu'au prochain redémarrage. Le changement ne sera pas visible immédiatement dans votre terminal actuel. Démarrez un nouveau terminal pour voir le nouveau nom d'hôte.
Pour changer le nom de façon permanente, exécutez la commande pour modifier les fichiers d'hôte :
sudo -H gedit /etc/hostname
y sudo -H gedit /etc/hosts
Pour le serveur Ubuntu sans interface graphique, exécutez sudo vi /etc/hostname
y sudo vi /etc/hosts
et les éditer un par un. Dans les deux fichiers, changez le nom en ce que vous voulez et enregistrez-les.
Enfin, redémarrez votre ordinateur pour appliquer les modifications.
Alors que les approches ci-dessus ( hostnamectl
, etc/hostname
etc.) fonctionnent pour un changement de nom d'hôte immédiat, avec l'arrivée de cloud-init - qui peut contrôler la configuration du nom d'hôte - parmi beaucoup d'autres choses. Il ne sera donc pas conservé après un redémarrage si cloud-init est installé. Si vous voulez que la modification soit conservée après un redémarrage, vous devrez modifier le fichier fichiers de configuration de cloud-init désactiver la fonction module de configuration/mise à jour du nom d'hôte :
sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
ou désactiver entièrement le cloud-init :
sudo touch /etc/cloud/cloud-init.disabled
Veuillez voter en faveur de cette réponse. Cela a bien fonctionné pour moi. Les autres réponses ne fonctionnent pas avec l'adoption de cloud-init.
@nslntmnx est-il installé par défaut sur le bureau 18.04, seulement sur le serveur ? L'ordinateur de bureau n'a pas /etc/cloud/cloud.cfg
. Quel est le nom du paquet ? Juste cloud-init
?
De plus, existe-t-il un moyen de changer le nom d'hôte avec cloud-init au lieu de simplement désactiver son remplacement ?
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 !