Je veux changer le nom d’hôte du système d’exploitation mais je ne veux pas le 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 le 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 en forme d'engrenage (située dans le coin supérieur droit de l'écran), ouvrez l'écran "À propos de cet ordinateur" (situé dans l'icône Gear) et modifiez "Nom du périphérique".
Ou, dans un terminal, utilisez la commande suivante:
sudo hostname your-new-name
Cela définira le nom d'hôte à votre nouveau nom jusqu'à ce que vous redémarriez. Voir man hostname
et Comment changer le nom de l'ordinateur? pour plus d'informations. N'utilisez pas _
dans votre nom.
Remarque
Après un redémarrage, vos modifications dans /etc/hostname
seront utilisées, 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 configuré correctement, exécutez:
sudo service hostname start
Vous devez également modifier /etc/hosts
et modifier la ligne qui se lit comme suit:
127.0.1.1 your-old-hostname
pour qu'il contienne maintenant votre nouveau nom d'hôte. (Ceci est nécessaire sinon beaucoup de commandes cesseront de fonctionner.)
La commande hostnamectl
fait partie de l’installation par défaut des éditions Desktop et Server.
Il associe la définition du nom d'hôte via la commande hostname
et l'édition de /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, éditer /etc/hosts
doit encore être fait séparément.
hostnamectl set-hostname new-hostname
Cette commande fait partie du package systemd-services
(qui, à partir d’Ubuntu 14.04, inclut également la Commandes timedatectl
et localectl
). Comme Ubuntu migre vers systemd
, cet outil est l'avenir.
Modifier le nom d'hôte ou le nom de l'ordinateur dans ubuntu sans redémarrer
Modifiez / etc / hostname et modifiez 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 localhost
127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
Remarque : je l'ai lu sur un forum & gt; É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 la récupération). et modifiez votre fichier hôte aux paramètres corrects)
Maintenant, après un redémarrage, votre nom d'hôte sera le nouveau que vous avez choisi
Pour modifier 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
Remarque : commande ci-dessus pour activer le changement. Le nom d'hôte enregistré dans ce fichier (/ etc / hostname) sera conservé lors du redémarrage du système (et sera défini à l'aide du même service).
Le nom par défaut était défini lors de l'installation d'Ubuntu. Vous pouvez facilement changer ce que vous voulez à la fois Desktop & amp; Serveur en éditant les fichiers hôte et nom d'hôte. Voici comment:
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émarrer un nouveau terminal pour voir le nouveau nom d'hôte.
Pour changer le nom de manière permanente, exécutez la commande pour modifier les fichiers hôte:
sudo -H gedit /etc/hostname
et sudo -H gedit /etc/hosts
Pour le serveur Ubuntu sans interface graphique, exécutez sudo vi /etc/hostname
et sudo vi /etc/hosts
et modifiez-les 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.
Voici un script qui modifie le nom d’hôte de la manière prescrite. Cela garantit que non seulement sudo
mais aussi les applications X11 continuent à fonctionner sans redémarrage requis.
Utilisation: sudo ./change_hostname.sh new-hostname
#!/usr/bin/env bash
NEW_HOSTNAME=
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(,"\"&\""); print}')"
/etc/hostname
par le nom d'hôte souhaité (vous pouvez le modifier avec sudo nano /etc/hostname
) /etc/hosts
, remplacez l'entrée situé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
Ceci est sans redémarrer et sans utilisation du terminal.
Ouvrir le terminal. Voyez par vous-mêmes.
(Pour les anciennes versions, la zone de texte n'est pas modifiable.)
sudo hostname your-new-name
sudo /etc/init.d/networking restart
Cela devrait faire le travail je pense
J'ai lu les réponses, mais je pense Probablement que vous cherchez ceci:
Il suffit d’exécuter ces deux commandes après avoir édité le fichier /etc/hostname
.
$ sudo service hostname restart
$ exec bash
C'est tout. Pas besoin de redémarrer. Assurez-vous également que vous modifiez également le nom dans le fichier /etc/hosts
.
La réponse classique à la question de l’affiche originale est que, une fois que vous avez édité /etc/hostname
, vous le faites appliquer sans redémarrer en exécutant hostname (1) avec l'option -F
( --file
) en tant qu'utilisateur root:
sudo hostname -F /etc/hostname
La gestion du nom d'hôte (5) avec /etc/hostname
et ledit programme a été le même dans Debian et ses dérivés depuis plus de vingt ans, et le paquet le fournissant a été balisé essential et requis , et IIRC les scripts d'initialisation ont littéralement utilisé la même chose pendant des décennies ( /etc/init/hostname.conf
le contient toujours), je dois donc dire que je suis vraiment perplexe de voir que personne ne l'a déjà mentionné:)
Solution basée sur réponse de la communauté DigitalOcean.
Modifier le fichier hosts .
$ sudo nano /etc/hosts
Remplacez oldname par un nouveau.
127.0.0.1 localhost newname
Configurer un nouveau nom d'hôte.
$ sudo hostnamectl set-hostname newname
Alors que les approches ci-dessus ( hostnamectl
, etc/hostname
, etc.) fonctionnent pour le changement immédiat du nom d'hôte, avec l'avènement de cloud-init - qui peut contrôler le réglage du nom d'hôte - parmi beaucoup d'autres choses. Donc, il ne collera pas après un redémarrage si cloud-init est installé. Si vous souhaitez que la modification reste après un redémarrage, vous devez modifier les fichiers de configuration cloud-init , désactivez le module de nom d'hôte / mise à jour de cloud-init :
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