web-dev-qa-db-fra.com

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 ne comprends pas comment. J'ai essayé toutes les méthodes que je connaisse pour changer le nom d'hôte, mais elle revient toujours au nom d'hôte que j'ai entré lorsque j'ai créé la machine lors du redémarrage. J'ai essayé ce qui suit:

  1. hostnamectl set-hostname xxx.
  2. Modification du nom d’hôte directement.
  3. Ajout de --static à hostnamectl.
  4. Modification du fichier hôtes et ajout du nom d’hôte souhaité.
  5. Recherche d'un lecteur pour les références à l'ancien nom d'hôte avant le redémarrage.
  6. Quelques autres suggestions étranges que j'ai trouvées sur Internet ne valent pas la peine d'être mentionnées.

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

Exemple:

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'avais eu ce problème avec la version bêta de 18.04, mais je pensais que j'attendrais la copie de publication. J'ai également envisagé le problème du fait que j'avais cloné les ordinateurs virtuels, mais il s'agissait d'une toute nouvelle version construite à partir de zéro avec la distribution qui vient de sortir.

Qu'est-ce que je rate?

Merci d'avance.

24
Andy Wylde

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

34
Karsten Hoffmann

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

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

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

Sudo cloud-init clean

Et puis réinitialisez la configuration de cloud-init à partir du fichier de données utilisateur nouveau/modifié:

Sudo cloud-init init

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

13
Pierz

Pour les "gars 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 garder en mémoire le nouveau nom d'hôte.

La deuxième partie (après le &&) ne sera exécutée que si la première partie s’est terminée avec succès et définira le nom d’hôte sur la valeur souhaitée.

Cordialement! L

5
linux64kb

1- Editez vi /etc/cloud/cloud.cfg et changez

preserve_hostname: false

À

preserve_hostname: true

Sauvegarder et quitter.

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

hostnamectl set-hostname NEWNAME

Profitez-en :)

3
Milad Norouzi

J'ai eu le même problème et j'ai constaté qu'après avoir supprimé les packages cloud, vous pouvez changer votre nom d'hôte.

apt remove cloud-init cloud-initramfs-copymods cloud-initramfs-dyn-netconf
0
Maddin