Comment changer le nom d'hôte d'une distribution basée sur RHEL?

19

Je me suis connecté pour la première fois, j'ai ouvert le terminal et j'ai tapé 'hostname'. Il a renvoyé «localhost.localdomain.com». Ensuite, je me suis connecté en tant qu'utilisateur root dans le terminal à l'aide de la commande «su -», fourni le mot de passe de l'utilisateur root et utilisé la commande «hostname etest» où etest est le nom d'hôte que j'aimerais que ma machine ait. Pour tester si j'ai bien changé mon nom d'hôte, j'ai de nouveau tapé 'hostname' sur le terminal et il a renvoyé etest.

Cependant, lorsque je redémarre ma machine, le nom d'hôte revient à «localhost.localdomain.com».

Voici toute la série de commandes que j'ai utilisées dans le terminal.

    [thomasm@localhost ~]$ hostname  
    localhost.localdomain  
    [thomasm@localhost ~]$ su -  
    Password:   
    [root@localhost ~]# hostname etest  
    [root@localhost ~]# hostname  
    etest

J'avais rencontré le même problème lorsque j'ai configuré les systèmes d'exploitation RHEL et Ubuntu avec VMPlayer.

Thomas
la source
@ Je suis un débutant avec Linux OS. Si plus de détails sont nécessaires, faites-le moi savoir.
Thomas

Réponses:

28

Sur RHEL et des dérivés comme CentOS, vous devez modifier deux fichiers pour changer le nom d'hôte.

Le système définit son nom d'hôte au démarrage en fonction de la HOSTNAMEligne /etc/sysconfig/network. L' nanoéditeur de texte est installé par défaut sur RHEL et ses dérivés, et son utilisation va de soi:

# nano /etc/sysconfig/network

Vous devez également modifier le nom dans le /etc/hostsfichier. Si vous ne le faites pas, certaines commandes commenceront soudainement à s'exécuter plus longtemps. Ils essaient de trouver l'IP de l'hôte local à partir du nom d'hôte, et sans entrée /etc/hosts, il doit passer par le processus de recherche de nom de réseau complet avant de pouvoir continuer. Selon votre configuration DNS, cela peut signifier des retards d'une minute environ!

Après avoir modifié ces deux fichiers, vous pouvez soit exécuter la hostnamecommande pour modifier la copie d'exécution du nom d'hôte (qui, là encore, a été défini à partir de /etc/sysconfig/network), soit simplement redémarrer.

Ubuntu diffère en ce que la copie statique du nom d'hôte est stockée dans /etc/hostname. D'ailleurs, de nombreux aspects de la configuration du réseau sont stockés à différents endroits et avec différents formats de fichiers sur Ubuntu par rapport à RHEL.

Warren Young
la source
Merci pour l'emplacement des fichiers. Je ne sais vraiment rien de Linux ou de l'utilisation du terminal, j'avais donc besoin d'étapes détaillées pour utiliser un éditeur de texte dans le terminal. D'où ma réponse affichée ci-dessous. Mais merci pour l'emplacement des fichiers que je devais modifier.
Thomas
4

Vous pouvez utiliser hostnamectl.

1. Définissez le nom d'hôte avec:

# hostnamectl set-hostname etest

ou

# hostnamectl set-hostname etest.something

2. Déconnectez-vous et reconnectez-vous.

3. (Facultatif) Pour voir plus d'options:

man hostnamectl
jtlindsey
la source
... hostnamectl est uniquement disponible sur RHEL 7 et CentOS 7.
Dale Anderson
2

Voici les étapes pour changer le nom d'hôte d'une machine CentOS (ou tout autre dérivé RHEL) utilisant un terminal.

Ouvrez le terminal. Tapez su -, pour vous connecter en tant que root. Après avoir fourni le mot de passe, tapez vi / etc / sysconfig / network. Cela ouvrira le fichier «réseau» à l'aide de l'éditeur de texte vi en mode commande. Tapez «i» pour passer en mode d'insertion de vi. Accédez à la section du nom d'hôte du fichier et remplacez localhost.localdomain par etest (ou le nom d'hôte requis). Appuyez sur 'Esc' pour quitter le mode d'insertion et revenir au mode de commande. En mode commande, tapez: wq pour enregistrer les modifications et quitter vi.

Dans le cas où vous souhaitez quitter sans enregistrer, tapez: q! en mode commande.

Des étapes similaires peuvent être suivies pour modifier le fichier / etc / hosts si nécessaire.

Thomas
la source