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 localhost127.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.