Zmieniłem nazwę hosta, edytując / etc / hostname i mogę zobaczyć nową nazwę hosta za pomocą poleceń hostname
i hostname -F
.
Ale zachęta powłoki nadal pokazuje starą nazwę hosta.
Nawiasem mówiąc, jest to Ubuntu 11.0.4. Monit jest ustawiony w moim, .bashrc
którego nie edytowałem. Wylogowanie, a nawet ponowne uruchomienie nie ma wpływu.
Odpowiednia sekcja standardowego Ubuntu .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 jest rozbrojony podczas logowania ...)
Wydaje mi się, że nazwa hosta jest wybierana przez znak specjalny \ h.
Oto ustawienie PS1 zgłoszone w powłoce:
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
A oto co pokazuje PS1:
username@oldhostname:~$
Powtórzyłem ten proces, używając dokładnego polecenia w odpowiedzi Warrena. Okazuje się, że nazwa hosta działa do momentu ponownego uruchomienia, ale potem zostaje utracona, mimo że /etc/hostname
zawiera nową nazwę hosta.
echo $PS1
pokazujeOdpowiedzi:
Odpowiadam na własne pytanie w świetle wcześniejszych odpowiedzi Keitha i Warrena oraz faktycznego rozwiązania. Dostrzegany problem brzmiał: „Zmieniłem nazwę hosta, dlaczego moje polecenie bash PS1 nie uległo zmianie?” Rzeczywisty problem brzmiał: „Dlaczego mój system powrócił do starej nazwy hosta po ponownym uruchomieniu?”
Odpowiedź w tym konkretnym przypadku brzmiała: DHCP jest skonfigurowany do zastępowania ustawień lokalnych.
Skuteczny sposób zmiany nazwy hosta
Poniższe informacje dotyczą Ubuntu, ymmv .
Zmień trwałą nazwę hosta, edytując plik
/etc/hostname
.Aby zmienić nazwę hosta dla uruchomionego systemu, użyj komendy hostname . Bez Kroku 1 byłby resetowany przy ponownym uruchomieniu. Sensowne jest użycie właśnie ustawionej wartości:
lub jego odpowiednik:
Ustaw w pełni kwalifikowaną nazwę domeny (FQDN) w
/etc/hosts
.Fragment:
Sprawdź, czy na komputerze działa klient DHCP. Oprócz adresu IP serwer DHCP może również zastąpić ustawienia, takie jak nazwa hosta i rozpoznawanie DNS. Usługa hostingowa „w chmurze” może to zrobić, aby obraz komputera na dysku mógł zostać ponownie użyty kilka razy bez edytowania plików konfiguracyjnych.
Jeśli istnieje, edytuj plik konfiguracyjny klienta DHCP,
/etc/default/dhcpcd
aby skomentowaćSET_HOSTNAME
dyrektywę:Jeśli to możliwe, uruchom ponownie system i sprawdź, czy nazwa uległa zmianie za pomocą:
Krok 4 był dla mnie wiadomością i złapał mnie. Pomyślałem, że przydatne byłoby udokumentowanie całego procesu w tej odpowiedzi. Ten krok jest dzięki uprzejmości (Linode) instrukcji mojej usługi hostingowej, które naprawdę powinienem właściwie przeczytać.
źródło
Plik
/etc/hostname
zawiera trwałą kopię nazwy hosta i jest używany podczas uruchamiania do ustawienia kopii w czasie wykonywania. Aby zmienić kopię wykonawczą bez ponownego uruchamiania, powiedz:Lub po prostu przekaż nową nazwę hosta jako parametr do
hostname(1)
polecenia.źródło
Widzę, że masz
/h
w twoimPS1
, a potem wymienić FQDN, teraz, można zamieścić swoje stare i nowe hosta próbujesz użytku?/h
pokazuje nazwę hosta do pierwszego „.”/H
pokazuje pełną nazwę FQDNSpróbuj
źródło
Wielkie litery
h
wPS1
:źródło