Szukałem odpowiedzi na to pytanie przy błędzie serwera i nie mogłem jej znaleźć. Wiem, że to możliwe, ale nie pamiętam, jak to zrobić. Jak zmienić nazwę hosta hosta Linuxa i sprawić, aby ta zmiana zaczęła obowiązywać bez ponownego uruchamiania komputera?
Używam Ubuntu 16 i Ubuntu 18.
Dużą cechą Ubuntu jest graficzny pulpit i graficzne narzędzia systemowe. Jednak Ubuntu działa w naszym środowisku produkcyjnym, dlatego zdecydowaliśmy się nie używać pulpitu graficznego ani narzędzi, aby te funkcje nie zużywały zasobów potrzebnych w naszym środowisku produkcyjnym.
Wiem, że aby zmienić nazwę hosta, edytuję pliki:
/etc/hostname
/etc/hosts
W tej /etc/hostname
po prostu zastępuje bieżącą nazwę hosta (wkrótce będzie to poprzednia nazwa hosta) nową nazwą hosta.
Ubuntu w /etc/hosts
pliku ma wiersz:
127.0.1.1 your-hostname your-hostname
Działa jako ładowanie początkowe, gdy host uruchamia się i ustanawia w sieci. Przed zmianą nazwy hosta your-hostname
jest ona obecna (wkrótce będzie to poprzednia nazwa hosta), a w ramach zmiany nazwy hosta hosta jedna z nich zastępuje tę nową nazwą.
Znam się na wykonaniu powyższych dwóch kroków, a następnie ponownym uruchomieniu komputera. Ale wiele razy, tak jak w przypadku serwera produkcyjnego, chciałoby się zmienić tę nazwę, ale nie restartować hosta.
Jak mogę zmienić nazwę hosta na hoście i sprawić, aby ta zmiana zaczęła obowiązywać bez ponownego uruchamiania hosta?
Odpowiedzi:
Za pomocą tego
hostnamectl
narzędzia możesz zmienić pomysł jądra na nazwę hosta w systemie opartym na systemie . Na przykład:Możesz zobaczyć obecny pomysł systemu na nazwę hosta za pomocą:
Należy pamiętać, że nie zmienia to koncepcji uruchomionego procesu na nazwę hosta. Taki proces musiałby ponownie sprawdzić nazwę hosta w celu aktualizacji i prawie żaden proces tego nie robi. Dlatego taki proces musiałby zostać zrestartowany. Aby każdy proces zaczął używać nowej nazwy hosta, należy go zrestartować. Generalnie łatwiej jest po prostu zrestartować system niż zrestartować każdą usługę osobno.
źródło
sudo /etc/init.d/network restart
Poza tym, restartowanie sieci na moim serwerze za pomocą tego polecenia oznacza, że chcesz zrestartować każdy uruchomiony proces, który musi wiedzieć, że nazwa serwera jest poprawna. Zgodził się, że ponowne uruchomienie hosta to naprawi. To powiedziawszy, są chwile, kiedy naprawdę chcę zmienić nazwę hosta, ale tak naprawdę nie chcę go ponownie uruchamiać. Wszelkie opinie na tematsudo /etc/init.d/network restart
nowej nazwy hosta i jej przydatności w ponownym uruchomieniu?/etc/init.d
systemach systemowych jest nieprawidłowe. Ma tylko kompatybilność wsteczną ze starym Systemem V.Możesz zmienić nazwę hosta w jądrze, używając:
W systemie Linux jest to praktycznie równe jednemu z poniższych:
Nie zależy to od systemd (w przeciwieństwie do hostnamectl, który wymaga systemd-hostnamed) lub innych niestandardowych narzędzi, a często (szczególnie w systemach shellscript-init) to w jaki sposób początkowa nazwa hosta została ustawiona.
Większość programów i usług nie używa nazwy hosta; kilka, które to robią (np. Postfix lub usługi korzystające z Kerberos) mogą być restartowane jeden po drugim.
(Niektóre programy buforują nazwę hosta do ponownego uruchomienia, inne sprawdzają ją za każdym razem, gdy jej potrzebują. Programy mają także możliwość odpytywania (2) / proc / sys / kernel / hostname, aby otrzymywać powiadomienia o zmianach, ale niewiele z nich.)
źródło
/etc/postfix/main.cf
a/etc/mailname
więc te również będą musiały być edytowane.