Je souhaite modifier le nom d'hôte du système d'exploitation, mais je ne souhaite pas redémarrer.
J'ai édité /etc/hostname
mais cela nécessite un redémarrage pour être implémenté. Comment éviter cela?
Je souhaite modifier le nom d'hôte du système d'exploitation, mais je ne souhaite pas redémarrer.
J'ai édité /etc/hostname
mais cela nécessite un redémarrage pour être implémenté. Comment éviter cela?
Réponses:
C'est facile. Cliquez simplement sur l'icône Gear (située dans le coin supérieur droit de l'écran), ouvrez l'écran "À propos de cet ordinateur" (situé sur l'icône Gear) et modifiez le "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 sur votre-nouveau-nom jusqu’à ce que vous redémarriez. Voir man hostname
et Comment changer le nom de l'ordinateur? pour plus d'informations. Ne pas utiliser _
en votre nom.
Remarque
Après un redémarrage, vos modifications /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 vérifier que le fichier est correctement configuré, exécutez:
sudo service hostname start
Vous devriez également éditer /etc/hosts
et changer la ligne qui se lit comme suit:
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.)
/etc/hosts
(voir autres réponses)
hostname
que le nouveau nom prenne effet immédiatement, il n’est pas "permanent" à moins que vous ne changiez également /etc/hostname
et /etc/hosts
, puisque ce sont les fichiers qui seront lus après un redémarrage ou un blocage, vous ne pouvez bien sûr pas être connecté. attendre à l'avance.
La hostnamectl
commande fait partie de l'installation par défaut sur les éditions Desktop et Server.
Il combine la définition du nom d'hôte via la hostname
commande et l'é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, la modification /etc/hosts
doit encore être effectuée séparément.
hostnamectl set-hostname new-hostname
Cette commande fait partie du systemd-services
paquetage (qui, à partir d’Ubuntu 14.04, inclut également les commandes timedatectl
et localectl
). Ubuntu migrant vers systemd
, cet outil est l'avenir.
hostnamectl
ça n'existe pas. Je suppose que certaines versions d’Ubuntu n’utilisent pas encore systemd.
Changer le nom d'hôte ou le nom de l'ordinateur dans Ubuntu sans redémarrer
Éditez / 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 localhost
127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
Remarque : je l'ai lu sur un forum> Modifiez / etc / hosts et changez l'ancienne ligne 127.0.1.1 en 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 la touche Echap du menu de menu, choisissez Récupération et modifiez votre fichier hôte avec les paramètres appropriés.
Maintenant, après un redémarrage, votre nom d'hôte sera le nouveau que vous avez choisi
Pour changer sans redémarrer , vous pouvez simplement utiliser hostname.sh après avoir édité / etc / hostname. Vous devez conserver vos deux noms d'hôte dans / etc / hosts (newhost oldhost 127.0.0.1) jusqu'à l'exécution de la commande ci-dessous:
sudo service hostname start
Remarque : Commande ci-dessus pour rendre la modification active. 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).
sudo: unable to resolve host old-hostname
. Pour cette partie, la solution @jesperado fonctionne bien.
/etc/hosts
, les choses commencent à échouer sur 12.04.2 LTS, y compris la w
commande, Apache, /sbin/reboot
et bien plus encore. Assurez-vous de mettre à jour/etc/hosts
127.0.0.1
pour localhost
et 127.0.1.1
pour un nom d’hôte personnalisé. Droite? Puis, vers la fin de votre réponse, pour une action sans rebot , vous référencez /etc/hosts
et 127.0.0.1 newhost oldhost
. Donc, il n'y a pas besoin d'une 127.0.1.1
adresse?
sudo nano /etc/hosts
pour que le changement prenne effet; sans sudo, nano /etc/hosts
Le nom par défaut a été défini lors de l'installation d'Ubuntu. Vous pouvez facilement le changer en tout ce que vous voulez dans Desktop & Server 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 changer le nom de façon permanente, exécutez la commande pour éditer les fichiers de l'hôte:
sudo -H gedit /etc/hostname
et sudo -H gedit /etc/hosts
Pour un serveur Ubuntu sans interface graphique, exécutez sudo vi /etc/hostname
-les sudo vi /etc/hosts
et modifiez-les un à un. Dans les deux fichiers, modifiez le nom de votre choix et enregistrez-le.
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
les applications X11 mais également celles-ci continuent de fonctionner sans redémarrage requis.
Usage: 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}')"
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
? Juste curieux.
xauth list
) et remplace l'ancien nom d'hôte par le nouveau nom d'hôte ( sed
). awk
Met ensuite des guillemets autour du premier argument xauth add
car xauth
les formats d’entrée et de sortie ne sont pas symétriques.
Sans redémarrage:
/etc/hostname
/etc/hosts
conséquencesudo sysctl kernel.hostname=mynew.local.host
Vérifiez votre nom d'hôte actuel avec hostname -f
sudo: unable to resolve host oldname
, sysctl: setting key "kernel.hostname": Read-only file system
. Peut-être parce que c'est un CT dans Proxmox.
Alors que les approches ci - dessus ( hostnamectl
, etc/hostname
, etc.) travaillent pour le changement de nom d'hôte immédiat, avec l'avènement du cloud-init - qui peut contrôler réglage du nom d' hôte - amoungst beaucoup d' autres choses. Donc, cela ne collera pas après un redémarrage si cloud-init est installé. Si vous souhaitez que les modifications restent après un redémarrage, vous devez éditer les fichiers de configuration de cloud-init , désactivez le module set / update du nom d' hôte de cloud-init :
sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
ou désactiver cloud-init entièrement:
sudo touch /etc/cloud/cloud-init.disabled
/etc/cloud/cloud.cfg
. Quel est le nom du paquet? Juste cloud-init
?
Pour obtenir votre nom d'hôte actuel:
cat /etc/hostname
Cela peut être changé dans n’importe quel éditeur de texte. Vous devrez également mettre à jour une entrée autre que localhost avec 127.0.0.1 dans / etc / hosts.
/etc/hostname
par le nom d'hôte souhaité (vous pouvez l'éditer 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 éditer avec sudo nano /etc/hosts
)sudo service hostname restart; sudo service networking restart
# 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 Ubuntu 18, je ne peux donc pas le tester avant le week-end.
Ceci est sans redémarrage et sans utilisation de terminal.
Terminal ouvert. Voyez vous-même.
(Pour les versions plus anciennes, la zone de texte n'est pas modifiable.)
La réponse classique à la question de l'affiche originale est que, une fois que vous l'avez modifiée /etc/hostname
, vous la faites appliquer sans redémarrer en exécutant hostname (1) avec l' option -F
( --file
) en tant que root:
sudo hostname -F /etc/hostname
Le nom d' hôte (5) AGILITY 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 fournissant a été marqué essentielle et nécessaire , et IIRC les scripts d'initialisation ont littéralement utilisé la même chose pour décennies (le /etc/init/hostname.conf
contient toujours), je dois donc dire que je suis vraiment perplexe que personne ne l’ait déjà mentionné :)
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 que vous recherchez probablement ceci:
Il suffit d’exécuter ces deux commandes après l’édition du /etc/hostname
fichier.
$ sudo service hostname restart
$ exec bash
C'est tout. Pas besoin de redémarrer. Assurez-vous également de modifier le nom du /etc/hosts
fichier.
/etc/hosts
(j'ai confirmé sur 14.04).
Solution basée sur la réponse de DigitalOcean Comunity.
Editer le fichier hosts .
$ sudo nano /etc/hosts
Remplacez oldname par new one.
127.0.0.1 localhost newname
Configurez le nouveau nom d'hôte.
$ sudo hostnamectl set-hostname newname