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 cela nécessite un redémarrage pour être implémenté. 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 cela nécessite un redémarrage pour être implémenté. Comment éviter cela?
C'est facile. Cliquez simplement sur l'icône d'engrenage (située dans le coin supérieur droit de l'écran), ouvrez l'écran "À propos de cet ordinateur" (situé sur l'icône d'engrenage ) et modifiez "Nom de l'appareil".
Ou, dans un terminal, utilisez la commande suivante:
sudo hostname your-new-name
Cela définira le nom d'hôte sur votre-nouveau-nom jusqu'à ce que vous redémarriez. Voir man hostname
et Comment puis-je changer le nom de l'ordinateur? pour plus d'informations. Ne pas utiliser _
en ton 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 toujours utiliser
sudo -H gedit /etc/hostname
(ou un autre éditeur) pour que ce fichier contienne le nom d'hôte.
Pour tester que le fichier est correctement configuré, exécutez:
sudo service hostname start
Vous devriez également modifier /etc/hosts
et changer la ligne qui lit:
127.0.1.1 your-old-hostname
pour qu'il contienne maintenant votre nouveau nom d'hôte. (Ceci est requis sinon de nombreuses commandes cesseront de fonctionner.)
Le hostnamectl
la commande fait partie de l'installation par défaut sur les éditions de bureau et serveur.
Il combine la définition du nom d'hôte via le 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 /etc/hosts
cela doit encore être fait séparément.
hostnamectl set-hostname new-hostname
Cette commande fait partie de la systemd-services
paquet (qui, à partir d'Ubuntu 14.04, inclut également le timedatectl
et localectl
commande). Comme Ubuntu migre vers systemd
, cet outil est l'avenir.
Changer le nom d'hôte ou le nom de l'ordinateur dans ubuntu sans redémarrage
Modifiez /etc / hostname et passez à la nouvelle valeur,
nano /etc/hostname
Modifiez /etc / hosts et remplacez l'ancienne ligne 127.0.1.1 par votre nouveau nom d'hôte
127.0.0.1 localhost127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
Note> : je l'ai lu sur un forum, Éditez /etc / hosts et remplacez 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 ÉCHAP dans le menu grub, choisissez Récupération et modifiez votre fichier hôte selon les paramètres corrects)
Maintenant, après un redémarrage, votre nom d'hôte sera le nouveau que vous avez choisi
Changer sans redémarrage, vous pouvez simplement utiliser hostname.sh après avoir modifié /etc / hostname.Vous devez conserver vos deux noms d'hôte 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 conservé au redémarrage du système (et sera défini en utilisant le même service).
Le nom par défaut a été défini lors de l'installation d'Ubuntu. Vous pouvez facilement le changer en ce que vous voulez sur le bureau et le serveur en modifiant les fichiers hosts et hostname. Voici comment:
sudo hostname NEW_NAME_HERE
Cela changera le nom d'hôte jusqu'au prochain redémarrage. La modification ne sera pas visible immédiatement dans votre terminal actuel. Démarrez un nouveau terminal pour voir le nouveau nom d'hôte.
Pour modifier le nom de manière permanente, exécutez la commande pour modifier les fichiers hôtes:
sudo -H gedit /etc/hostname
et sudo -H gedit /etc/hosts
Pour un serveur Ubuntu sans interface graphique, exécutez sudo vi /etc/hostname
et sudo vi /etc/hosts
et éditez-les un par un one.In 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 immédiat de nom d'hôte, avec l'avènement de initialisation du cloud - qui peut contrôler le réglage du nom d'hôte-parmi beaucoup d'autres choses. Il ne collera donc pas après un redémarrage si cloud-init est installé. Si vous souhaitez que le changement reste après un redémarrage, vous devrez modifier le fichiers de configuration cloud-init, désactiver les initialisations cloud ensemble de noms d'hôte/module de mise à jour:
sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
ou désactivez entièrement cloud-init:
sudo touch /etc/cloud/cloud-init.disabled
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 redémarrage requis.
Utilisation: sudo ./change_hostname.sh new-hostname
#!/usr/bin/env bashNEW_HOSTNAME=$1echo $NEW_HOSTNAME > /proc/sys/kernel/hostnamesed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hostsecho $NEW_HOSTNAME > /etc/hostnameservice hostname startsu $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
Sans redémarrage:
/etc/hostname
/etc/hosts
conséquentsudo sysctl kernel.hostname=mynew.local.host
Vérifiez votre nom d'hôte actuel avec hostname -f
Pour obtenir votre nom d'hôte actuel:
cat /etc/hostname
Cela peut être modifié dans n'importe quel éditeur de texte. Vous devrez également mettre à jour une entrée autre que localhost par rapport à 127.0.0.1 dans /etc / hosts.
Solution basée sur réponse de la communauté DigitalOcean.
Modifier hôte fichier.
$ sudo nano /etc/hosts
Remplacer ancien nom avec un nouveau.
127.0.0.1 localhost newname
Configurez un nouveau nom d'hôte.
$ sudo hostnamectl set-hostname newname
/etc/hostname
avec le nom d'hôte souhaité (vous pouvez 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 souhaité (vous pouvez modifier avec sudo nano /etc/hosts
)sudo service hostname restart; sudo service networking restart
Avertissement: 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, Merci!