Słyszałem, że zmiana nazwy hosta w nowych wersjach Fedory jest wykonywana za pomocą hostnamectl. Ponadto ostatnio (i pomyślnie) zmieniłem moją nazwę hosta w Arch Linux za pomocą tej metody. Jednak podczas uruchamiania:

 [root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain  

Zmiany nie są zachowywane po ponownym uruchomieniu (w przeciwieństwie do wielu twierdzeń, że tak jest). Co jest nie tak?

  • Naprawdę nie chcę edytować /etc/hostname ręcznie.

Powinienem również zauważyć, że jest to całkowicie standardowa fedora. Jeszcze nie zabrałem się za instalowanie moich podstawowych aplikacji.

Komentarze

  • To również zawierało podobne informacje dotyczące problemu: ask.fedoraproject.org/en/question/37413/… & this: dbaora.com/install-fedora-20
  • Rzeczywiście, jest to jedno z moich źródeł. Jednak żadne z rozwiązań, które mogłem wyodrębnić z tej strony, nie działało …
  • Jak niedawno zainstalowałeś / skonfigurowałeś ten system? Czy problem występuje od czasu instalacji? Czy są też jakieś błędy związane z tymi hostnamectl poleceniami? Link do błędu bugzilli, który coś opublikował, wydaje się być najlepszym tropem.
  • Zainstalowałem 01.10.14 i od tego czasu polecenia hostnamectl nie działa, ale teraz już to działa.
  • Błąd, do którego odwołano się w zaakceptowanym rozwiązaniu, był dla ciebie po prostu niefortunnym momentem. ' naprawili to na wcześniejszym etapie i powinno działać dla przyszłych użytkowników.

Odpowiedź

Polecenie do ustawienia nazwy hosta to zdecydowanie hostnamectl.

root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE" 

Oto dodatkowe źródło, które nieco dokładniej opisuje tę funkcję, zatytułowane: Prawidłowe ustawienie nazwy hosta – Fedora 20 na Amazon EC2 .

Dodatkowo strona podręcznika dla hostnamectl:

HOSTNAMECTL(1) hostnamectl HOSTNAMECTL(1) NAME hostnamectl - Control the system hostname SYNOPSIS hostnamectl [OPTIONS...] {COMMAND} DESCRIPTION hostnamectl may be used to query and change the system hostname and related settings. This tool distinguishes three different hostnames: the high-level "pretty" hostname which might include all kinds of special characters (e.g. "Lennart"s Laptop"), the static hostname which is used to initialize the kernel hostname at boot (e.g. "lennarts-laptop"), and the transient hostname which is a default received from network configuration. If a static hostname is set, and is valid (something other than localhost), then the transient hostname is not used. Note that the pretty hostname has little restrictions on the characters used, while the static and transient hostnames are limited to the usually accepted characters of Internet domain names. The static hostname is stored in /etc/hostname, see hostname(5) for more information. The pretty hostname, chassis type, and icon name are stored in /etc/machine-info, see machine-info(5). Use systemd-firstboot(1) to initialize the system host name for mounted (but not booted) system images. 

W Fedorze 21 jest błąd, w którym SELinux uniemożliwia dostęp do nazwy hosta , znaleziony tutaj, zatytułowany: Błąd 1133368 – SELinux uniemożliwia systemowi d-hostnam dostęp do pliku nazwa_hosta .

Ten błąd wydaje się być powiązany. Występuje problem z nieprawidłowym stosowaniem kontekstów SELinux do pliku /etc/hostname podczas instalacji. Objawia się to tym, że narzędzie hostnamectl nie może manipulować plikiem /etc/hostname. Ten sam wątek oferował to obejście:

$sudo restorecon -v /etc/hostname 

UWAGA: Że poprawki zostały zastosowane do Anacondy (narzędzia instalacyjnego), aby ten problem w przyszłości zniknął dla nowych użytkowników.

Odpowiedź

Prawdopodobną przyczyną tego jest twój klient dhcp. Jeśli używasz „dhcpcd, co jest częste, rozwiązaniem jest dodanie następującego wiersza do /etc/dhcpcd.conf:

nohook hostname 

Zapobiega to wywołaniu przez dhcpcd skryptu, który zmienia nazwę hosta twojego systemu.

Domyślnie dhcpcd uruchamia wszystkie obecne punkty zaczepienia /lib/dhcpcd/dhcpcd-run-hooks (ścieżka może się różnić w systemie). Użycie nohook wyłącza określone.

Komentarze

  • Zarówno dla moich 21, jak i instalacje rawhide, /etc/dhcpd.conf nie istnieje. Ponadto systemctl status dhcpcd zwraca not-found (Reason: No such file or directory)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *