До основного вмісту

Як змінити hostname на Linux: Ubuntu, Debian, CentOS

VDS / VPS · 19.04.2026 · 5 хв читання
Ілюстрація до статті «Як змінити hostname на Linux: Ubuntu, Debian, CentOS»

Hostname — ім’я сервера в мережі. Воно використовується в запрошенні командного рядка, логах, поштових заголовках та PTR-записах. Правильний hostname — це FQDN виду server.example.com.

Типи hostname у Linux

ТипПрикладОпис
staticserver.example.comОсновний, зберігається в /etc/hostname
transientserverТимчасовий, встановлюється ядром
prettyMy ServerДля UI (може містити пробіли)

Зміна hostname — сучасний спосіб (systemd)

# Переглянути поточний hostname
hostnamectl status

# Змінити hostname
sudo hostnamectl set-hostname server.example.com

# Перевірити
hostname
hostname --fqdn

Оновлення /etc/hosts

Після зміни hostname обов’язково оновіть /etc/hosts:

sudo nano /etc/hosts

# Додайте або змініть рядок:
127.0.1.1    server.example.com    server

# Також переконайтеся, що публічна IP теж вказана:
YOUR.PUBLIC.IP    server.example.com    server

Зміна на старих системах (без systemd)

# CentOS 6 / Debian 7 та старіші
sudo nano /etc/hostname
# Впишіть: server.example.com

# Застосувати без перезавантаження
sudo hostname server.example.com

Перевірка після зміни

# Поточний hostname
hostname

# FQDN
hostname --fqdn

# Повний статус
hostnamectl status

# Нове запрошення з’явиться після:
exec bash   # або відкрити нову SSH-сесію
💡 Поштовий сервер: Hostname VPS повинен збігатися з PTR-записом (rDNS) та HELO-ім’ям Postfix. Інакше листи будуть відхилені. Формат: mail.yourdomain.com.

Hostname і SSL-сертифікати

Let's Encrypt під час видачі сертифіката перевіряє, що домен вказує на вашу IP. Якщо hostname сервера — server.example.com, домен server.example.com повинен мати A-запис на IP цього сервера.

⚠️ Не використовуйте localhost: Hostname localhost або server без домену спричинить проблеми з Postfix, SSL-генерацією та деякими панелями керування. Завжди вказуйте FQDN.

Розбір типових помилок

Після зміни hostname команда "sudo" починає скаржитися "unable to resolve host" — sudo під час запуску намагається розв'язати поточний hostname через DNS або /etc/hosts, і якщо нове ім'я там не прописане, отримує помилку.

sudo: unable to resolve host server.example.com: Name or service not known

Команда все одно виконується, але із затримкою і попередженням під час кожного запуску. Виправляється додаванням рядка в /etc/hosts з новим hostname, як описано вище — ця помилка майже завжди означає, що крок з /etc/hosts пропущено.

Postfix перестає приймати пошту з помилкою "mail for example.com loops back to myself" — виникає, якщо myhostname у конфігурації Postfix збігається з доменом, для якого сервер приймає пошту, але не з MX-записом.

postfix/smtpd[1234]: warning: mail for example.com loops back to myself

Hostname поштового сервера має бути піддоменом, а не голим доменом: mail.example.com, а не example.com. Після зміни hostname обов'язково перевірте postconf myhostname і перезапустіть Postfix.

Способи задати hostname: порівняння

СпосібПостійністьСистемиПотребує перезавантаження
hostnamectl set-hostnameПостійно, до наступної зміниsystemd (Ubuntu, Debian, CentOS 7+)Ні
Правка /etc/hostname вручнуПостійноБудь-який Linux, включно без systemdТак, або команда hostname
hostname (без sudo hostnamectl)Тимчасово, до перезавантаженняБудь-який LinuxНі, але скидається
DHCP-опція hostnameЗалежить від DHCP-сервераVPS з автоналаштуванням мережіМоже бути перезаписано

Коли зміну hostname краще не робити вручну

  • Сервер вже налаштований для приймання пошти, і старий hostname прописаний у PTR-записі провайдера — спочатку змініть PTR на нове ім'я, інакше пошта почне відхилятися одразу після зміни.
  • На сервері випущені SSL-сертифікати Let's Encrypt на старе ім'я — після зміни hostname сертифікати не перевипустяться автоматично, потрібно запускати certbot знову на новий домен.
  • Використовуються кластерні конфігурації (Galera, Keepalived) — там hostname часто прив'язаний до конфігурації кластера, і довільна зміна може порушити зв'язок між вузлами.

Перевірка результату

  1. Переконайтеся, що нове ім'я застосувалося: hostnamectl status має показувати потрібний Static hostname без помилок.
  2. Перевірте узгодженість з /etc/hosts: getent hosts $(hostname) має повернути коректну IP-адресу, а не помилку.
  3. Перевірте PTR-запис, якщо сервер використовується для пошти: dig -x ВАША_IP +short має повернути нове hostname.
  4. Перезапустіть залежні сервіси (Postfix, панелі керування) і перевірте логи на помилки, пов'язані зі старим іменем: journalctl -u postfix --since "5 min ago".

Щодо налаштування самого поштового сервера після зміни hostname див. статтю про Postfix, а для випуску сертифіката на новий домен — посібник з SSL і Certbot.

Часті питання

Чи обов'язково перезавантажувати сервер після зміни hostname?

Перезавантаження не потрібне — команда hostnamectl set-hostname застосовує зміну одразу, без рестарту системи. Відкриті термінальні сесії і вже запущені служби здатні і далі використовувати старе ім'я, доки їх не перезапустять, тож варто перезапустити залежні від hostname служби на кшталт Postfix і відкрити нову SSH-сесію для перевірки.

Hostname — це те саме, що доменне ім'я сайту?

Hostname і доменне ім'я сайту — різні речі, хоча часто збігаються за форматом. Hostname ідентифікує саме сервер у мережі і використовується системними службами, а домен сайту вказує на IP через DNS і здатен належати геть іншому серверу чи змінюватися незалежно від hostname. Зміна одного автоматично не перейменовує інше.

Чому в терміналі не одразу видно нове ім'я у запрошенні командного рядка?

Запрошення командного рядка зчитує hostname один раз під час запуску оболонки, тому вже відкрита сесія не оновиться сама після команди hostnamectl. Нове ім'я з'явиться лише у новій сесії або після команди exec bash, яка перезапускає поточний shell із вже зміненими змінними оточення без повторного логіну по SSH.

Чи дозволено у hostname вживати великі літери, підкреслення та цифру на початку імені?

Великі літери і цифри у hostname дозволені, а ось символ підкреслення і цифра на першому місці здатні спричиняти проблеми у частини поштових серверів і старих DNS-резолверів, хоча формально RFC це не завжди прямо забороняє. Безпечніше використовувати малі латинські літери, цифри і дефіс, не ставлячи дефіс чи цифру першим символом.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці