J'ai changé mon nom d'hôte en modifiant / etc / hostname et je peux voir le nouveau nom d'hôte à l'aide des commandes hostname
et hostname -F
.
Mais l'invite du shell affiche toujours l'ancien nom d'hôte.
C'est d'ailleurs Ubuntu 11.0.4. L'invite est définie dans mon .bashrc
que je n'ai pas modifié. La déconnexion et même le redémarrage n'a aucun effet.
Section pertinente de l'Ubuntu standard .bashrc
:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
($ debian_chroot n'est pas défini lors de ma connexion ...)
Je suppose que le nom d'hôte est repris par le caractère spécial \ h.
Voici le paramètre PS1 tel que rapporté dans le shell:
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
Et voici ce que montre la PS1:
username@oldhostname:~$
J'ai répété le processus en utilisant la commande exacte dans la réponse de Warren. Il s'avère que le nom d'hôte fonctionne jusqu'au redémarrage, mais il est ensuite perdu, même s'il /etc/hostname
contient le nouveau nom d'hôte.
echo $PS1
montre-t-on?Réponses:
Je réponds à ma propre question, à la lumière des réponses précédentes de Keith et Warren et de la résolution réelle. Le problème perçu était "J'ai changé mon nom d'hôte, pourquoi mon invite bash PS1 est-elle inchangée?" Le problème réel était "Pourquoi mon système est-il revenu à son ancien nom d'hôte au redémarrage?"
La réponse dans ce cas particulier était: DHCP est configuré pour remplacer les paramètres locaux.
Un moyen efficace de changer le nom d'hôte
Ce qui suit s'applique à Ubuntu, ymmv .
Modifiez le nom d'hôte persistant en modifiant le fichier
/etc/hostname
.Pour modifier le nom d'hôte du système en cours d'exécution, utilisez la commande hostname . Sans l'étape 1, cela serait réinitialisé au redémarrage. Il est logique d'utiliser la valeur que vous venez de définir:
ou son équivalent:
Définissez le nom de domaine complet (FQDN) dans
/etc/hosts
.Extrait:
Vérifiez si la machine exécute un client DHCP. En plus de l'adresse IP, un serveur DHCP peut très bien remplacer les paramètres tels que le nom d'hôte et la résolution DNS. Un service d'hébergement «cloud» peut le faire afin que l'image d'une machine sur disque puisse être réutilisée plusieurs fois sans modifier les fichiers de configuration.
S'il existe, modifiez le fichier de configuration du client DHCP
/etc/default/dhcpcd
pour mettre en commentaire laSET_HOSTNAME
directive:Si possible, redémarrez le système et vérifiez que le nom a changé avec:
L'étape 4 était une nouvelle pour moi et m'a rattrapé. J'ai pensé qu'il serait utile de documenter l'ensemble du processus dans cette réponse. Cette étape est une gracieuseté de (Linode) les instructions de mon service d'hébergement que j'aurais vraiment dû lire correctement.
la source
Le fichier
/etc/hostname
contient la copie persistante du nom d'hôte et est utilisé lors du démarrage pour définir la copie d'exécution. Pour modifier la copie d'exécution sans redémarrer, dites:Ou passez simplement le nouveau nom d'hôte comme paramètre à la
hostname(1)
commande.la source
Je vois que vous avez
/h
dans votrePS1
, puis mentionnez le nom de domaine complet, maintenant, pourriez-vous publier votre ancien et un nouveau nom d'hôte que vous essayez d'utiliser?/h
affiche le nom d'hôte jusqu'au premier '.'/H
affiche le nom de domaine completEssaie
la source
Capitalisez le
h
dans votrePS1
:la source