53 votes

Le nom d'hôte revient à l'ancien nom après le redémarrage dans 18.04 LTS

Cela peut être lié à l'exécution de 18.04 LTS en tant que machine virtuelle (l'hôte est Win 2016 DC), mais je n'arrive pas à comprendre comment. J'ai essayé toutes les méthodes que je connais pour changer le nom d'hôte, mais il revient toujours au nom d'hôte que j'ai entré lors de la construction de la machine au redémarrage. J'ai essayé ce qui suit :

  1. hostnamectl set-hostname xxx.
  2. Modifier directement le nom d'hôte.
  3. Ajout de --static à hostnamectl.
  4. Modification du fichier hosts et ajout du nom d'hôte souhaité.
  5. Recherche dans le disque des références à l'ancien nom d'hôte avant le redémarrage.
  6. Quelques autres suggestions bizarres que j'ai trouvées sur l'internet et qui ne valent pas la peine d'être mentionnées.

Je n'ai pas de DNS pour ce serveur pour le moment.

XXXX@iwrxmail:~# hostnamectl
Static hostname: iwrxmail
Pretty hostname: Interwrx Ubuntu Mail Server
Transient hostname: ctl
     Icon name: computer-vm
       Chassis: vm
    Machine ID: 01ef0d836d2c4945b51a4fab8e506381
       Boot ID: e6608fe238d843f883cde52af7631a79
Virtualization: microsoft
Operating System: Ubuntu 18.04 LTS
        Kernel: Linux 4.15.0-20-generic
  Architecture: x86-64
XXXX@iwrxmail:~# hostnamectl set-hostname test
XXXX@iwrxmail:~# hostnamectl
Static hostname: test
     Icon name: computer-vm
       Chassis: vm
    Machine ID: 01ef0d836d2c4945b51a4fab8e506381
       Boot ID: e6608fe238d843f883cde52af7631a79
Virtualization: microsoft
Operating System: Ubuntu 18.04 LTS
        Kernel: Linux 4.15.0-20-generic
  Architecture: x86-64
root@iwrxmail:~# cat /etc/hostname
test
root@iwrxmail:~# cat /etc/hosts
127.0.0.1       localhost.localdomain   localhost
::1             localhost6.localdomain6 localhost6
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts 

However on reboot I get this again ....

XXXX@iwrxmail:~# hostnamectl
Static hostname: iwrxmail
     Icon name: computer-vm
       Chassis: vm
    Machine ID: 01ef0d836d2c4945b51a4fab8e506381
       Boot ID: 25a00676b22048eb8d43492c9de4f147
Virtualization: microsoft
Operating System: Ubuntu 18.04 LTS
        Kernel: Linux 4.15.0-20-generic
Architecture: x86-64

J'ai eu ce problème avec la version bêta de la 18.04, mais je me suis dit que j'attendrais la version finale. J'ai également pensé qu'il pouvait s'agir d'un problème lié au fait que j'avais cloné les VM, mais il s'agissait d'une toute nouvelle version construite à partir de zéro avec la distro qui venait d'être publiée.

Qu'est-ce qui m'échappe ?

Merci d'avance.

73voto

Nima Points 19

Commencez par éditer le fichier /etc/cloud/cloud.cfg et définissez le paramètre "preserve_hostname" de "false" à "true", puis éditez le fichier /etc/hostname.

26voto

spidersilk Points 11

Le nom d'hôte est réinitialisé par cloud-init qui peut être désactivé comme suit (après quoi vous pouvez définir le nom d'hôte de la manière habituelle, par exemple à l'aide de la fonction hostnamectl ):

sudo touch /etc/cloud/cloud-init.disabled

Vous pouvez également utiliser cloud-init et créer/modifier le fichier user-data (qui se trouve généralement à l'adresse suivante : : /var/lib/cloud/seed/nocloud-net/user-data ) de sorte que les hostname: est défini sur le nom d'hôte souhaité (à condition que l'entrée preserve_hostname: n'est pas défini). Tout d'abord, vous devez nettoyer la configuration existante :

sudo cloud-init clean

Puis réinitialiser la configuration de cloud-init à partir du fichier de données utilisateur nouveau/modifié :

sudo cloud-init init

Puis redémarrer. Voir le docs cloud-init pour plus de détails.

8voto

linux64kb Points 998

Pour les "paresseux" comme moi, une solution copier-coller :)

sudo sed -i '/preserve_hostname: false/c\preserve_hostname: true' /etc/cloud/cloud.cfg && sudo hostnamectl set-hostname ReplaceThisWithTheHostnamePreferred

La première commande permet au système d'exploitation de mémoriser le nouveau nom d'hôte.

La deuxième partie (après le &&) ne s'exécutera que si la première partie s'est terminée avec succès et fixera le nom d'hôte à la valeur souhaitée.

Avis ! L

6voto

Milad Norouzi Points 61

1- Editer vi /etc/cloud/cloud.cfg et le changement

preserve_hostname: false

Pour

preserve_hostname: true

Sauvegarder et quitter.

2- Editer vi /etc/hostname et remplacez votre nouveau nom dans ce fichier ou vous pouvez faire cette étape avec la commande ci-dessous.

hostnamectl set-hostname NEWNAME

Profitez-en :)

2voto

Levi H Points 121

Si vous n'êtes pas satisfait de laisser une ancienne version quelque part, ouvrez simplement le fichier à l'adresse suivante /var/lib/cloud/seed/nocloud-net/user-data et modifiez votre nom d'hôte à la ligne :

hostname: cm-lc-nc

Ensuite, courez :

cloud-init clean
cloud-init init

Il définira ensuite /etc/hostname à la nouvelle valeur et restera cohérent lors des redémarrages. Cela supprimera toutes les traces de l'ancien nom d'hôte et dans le cas où preserve_hostname est réinitialisé ou ignoré pour une raison quelconque, vous ne perdrez pas votre nouveau nom d'hôte.

SistemesEz.com

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.

Powered by:

X