Jak zmienić nazwę hosta na trwałe w systemie operacyjnym Debian Linux 12/11/10

11.07.2023
Bash, Linux
Dodane przez:

Trwała zmiana hostname w Debianie 12/11/10: hostnamectl, poprawny wpis w /etc/hosts, weryfikacja oraz najczęstsze przyczyny powrotu starej nazwy.

Aktualizacja merytoryczna: 15.10.2026. Instrukcja dotyczy Debiana z działającym systemd i uprawnieniami administratora. Nazwa app01 jest przykładowa; zastąp ją nazwą własnego serwera.

Jak zmienić hostname na stałe?

W standardowej instalacji Debiana użyj sudo hostnamectl set-hostname app01, a następnie uzgodnij lokalny wpis w /etc/hosts. Samo polecenie hostname app01 zmienia nazwę działającego systemu, lecz nie jest wystarczającą konfiguracją trwałą.

1. Sprawdź obecną konfigurację

Po zalogowaniu na właściwy serwer odczytaj aktualną nazwę i zawartość plików:

hostnamectl

cat /etc/hostname

cat /etc/hosts

Zapisz poprzednią nazwę i zachowaj kopie obu plików przed zmianą. Jeśli serwer obsługuje pocztę, monitoring lub aplikacje odwołujące się do jego nazwy, najpierw sprawdź te zależności.

2. Ustaw nową nazwę serwera

Wykonaj:

sudo hostnamectl set-hostname app01

Polecenie ustawia między innymi nazwę statyczną, zapisywaną w konfiguracji systemu. Jeśli pracujesz już jako root, pomiń sudo. Do prostej nazwy technicznej używaj liter ASCII, cyfr i łączników, bez spacji.

3. Zaktualizuj właściwy wpis w /etc/hosts

Otwórz /etc/hosts w wybranym edytorze, np. sudo nano /etc/hosts. Zmień wpis starej nazwy, zachowując pozostałą konfigurację. W typowej instalacji bez stałego adresu IP fragment pliku może wyglądać tak:

127.0.0.1 localhost
127.0.1.1 app01

Nie zastępuj całego pliku tym przykładem. Dla serwera ze stałym IP lub pełną nazwą domenową dopasuj istniejące mapowanie do jego konfiguracji. Zachowaj wpisy localhost i IPv6.

4. Zweryfikuj zmianę

Sprawdź nazwę statyczną, nazwę działającego systemu i lokalne rozwiązywanie nazwy:

hostnamectl --static

hostname

getent hosts app01

Stara nazwa w otwartym wcześniej promptcie nie musi oznaczać błędu; otwórz nową sesję. Samo ustawienie hostname zwykle nie wymaga restartu systemu; osobno sprawdź usługi korzystające z nazwy.

Dlaczego stara nazwa wraca albo hostnamectl nie działa?

Jeżeli nazwa wraca po restarcie, sprawdź konfigurację narzędzi zarządzających serwerem, np. cloud-init lub panelu dostawcy. Nie wyłączaj ich automatycznie: ustal, które źródło ma zarządzać nazwą.

W kontenerze, chroot lub systemie bez działającego systemd polecenie hostnamectl może być niedostępne. W takim środowisku nazwę ustawia się zgodnie z konfiguracją kontenera lub platformy. Komunikat sudo: unable to resolve host może z kolei wskazywać na niespójność nazwy z lokalnym rozwiązywaniem w /etc/hosts.

Zmiana hostname nie aktualizuje automatycznie publicznego DNS, rekordów pocztowych ani certyfikatów TLS. To osobne elementy konfiguracji.

Potrzebujesz pomocy z administracją Linux?

Jeżeli zmiana dotyczy działającego serwera firmowego, możemy sprawdzić zależności i zaplanować konfigurację w ramach administracji serwerami Linux. Przykładem naszego doświadczenia jest współpraca z Zarządem Dróg Miejskich w Warszawie.

Przy porządkowaniu serwera przyda się też poradnik: wyszukiwanie i usuwanie starych plików w Linuxie.

Dokumentacja: hostnamectl – Debian Manpages oraz Debian Reference: lokalne rozwiązywanie nazw.

O autorze

Leszek Iwaniec jest właścicielem Projectic. Zajmuje się wdrożeniami sklepów internetowych, aplikacjami dedykowanymi i wsparciem technicznym. Na blogu opisuje problemy oraz rozwiązania związane z PrestaShop, Laravel i integracjami systemów. Materiały opierają się na doświadczeniach z projektów zespołu.

Powrót