Как изменить hostname в Ubuntu/Debian, Astra Linux и BaseALT (ALT Linux)

Как изменить hostname в Ubuntu/Debian‑семействе (включая Astra Linux и BaseALT/ALT Linux): проверка текущего имени, смена через hostnamectl set-hostname, правила выбора hostname, настройка FQDN в /etc/hosts и временная смена до перезагрузки.

Hostname (имя хоста) — это имя компьютера в сети. В Ubuntu/Debian и производных (включая Astra Linux и BaseALT/ALT Linux) чаще всего используется systemd, поэтому самый удобный и безопасный способ смены hostname — hostnamectl.


Просмотр текущего hostname

Показать текущее имя хоста:

hostname

Посмотреть подробности через systemd:

hostnamectl

hostnamectl различает несколько вариантов имени (pretty/static/transient), но для серверов обычно важен static hostname — он постоянный и переживает перезагрузку.


Как правильно выбрать hostname

Базовые правила (совместимость с DNS/сервисами)

  • Используй только латинские буквы a-z, цифры 0-9 и дефис - (без пробелов и подчёркиваний _).
  • Не начинай и не заканчивай метку дефисом -.
  • Длина одной DNS-метки (часть между точками) — максимум 63 символа.
  • В systemd hostnamectl применяется системный лимит длины имени (для static/transient hostname в документации systemd указывается ограничение 64 символа).

Short name или FQDN

  • Short hostname: srv1, db-prod, gitlab — чаще всего достаточно для небольшой сети.
  • FQDN: srv1.example.com — удобнее для доменной инфраструктуры и когда важно уникальное имя в разных сетях.

Способ 1 (рекомендуется). hostnamectl (systemd)

Задать новое имя хоста:

sudo hostnamectl set-hostname new-hostname

По умолчанию hostnamectl set-hostname меняет pretty/static/transient, а если указать --static/--transient/--pretty, то меняется только выбранный тип.

Проверка:

hostname
hostnamectl

Примечание для Astra Linux

В сценариях подготовки и ввода Astra Linux в доменную инфраструктуру также используют hostnamectl set-hostname, поэтому этот способ там наиболее ожидаем.

Примечание для BaseALT / ALT Linux

В материалах по доменной инфраструктуре ALT Linux тоже встречается подход с заданием hostname через hostnamectl set-hostname.


Способ 2. Редактируем /etc/hostname и /etc/hosts

Этот вариант полезен, если hostnamectl недоступен (например, система без systemd) или нужно руками проверить конфиги.

1) (Опционально) применить имя в текущей системе

Временно установить hostname можно так:

sudo hostname new-hostname

Обычно это изменение временное (до перезагрузки), а постоянное имя берётся из /etc/hostname или задаётся через hostnamectl.

2) Изменить /etc/hostname

Открой файл:

sudo nano /etc/hostname

Укажи new-hostname одной строкой, сохрани и закрой файл.

3) Изменить /etc/hosts

Hostname часто прописывается также в /etc/hosts, поэтому нужно обновить его и там:

sudo nano /etc/hosts

Практика: если hostname = FQDN (server.manuala.ru)

Если задаёшь hostname как FQDN (например, server.manuala.ru), важно, чтобы система могла быстро резолвить это имя локально, даже когда DNS недоступен или “тормозит”. В Debian-подобных системах для этого часто используют запись с 127.0.1.1.

Вариант A (типичный для Debian/Ubuntu): 127.0.1.1 + FQDN + shortname

Пример строки в /etc/hosts:

127.0.1.1 server.manuala.ru server

Такой формат (IP FQDN shortname) используется, чтобы софт мог быстро сопоставлять short hostname и FQDN с адресом без обращения к внешнему DNS, а при DHCP вместо “фиксированного” адреса часто подставляют 127.0.1.1.

Вариант B (если у сервера есть постоянный IP в сети)

Если у сервера стабильный адрес (например, 192.168.0.10) и ты хочешь, чтобы FQDN указывал именно на него:

192.168.0.10 server.manuala.ru server

Это ближе к реальной сетевой схеме и полезно, когда сервисы должны “видеть себя” по своему настоящему IP.


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

Открой новую сессию терминала/SSH и проверь:

hostname
hostnamectl
getent hosts $(hostname)
getent hosts server.manuala.ru

Если getent hosts возвращает ожидаемый IP — связка hostname/FQDN настроена корректно.

Если после перезагрузки имя “откатывается”, проверь, не управляет ли hostname отдельный компонент в образе/облаке (часто встречается на VPS/в cloud-init сценариях).

Read more

Подключение к удалённому серверу по SSH из Windows (CMD, PowerShell, WSL, PuTTY)

Гайд по SSH-клиентам в Windows: используем встроенную команду `ssh` в PowerShell/CMD (Windows 10/11), полноценный Linux-терминал через WSL или классический PuTTY. Примеры команд для подключения, отправки скриптов и использования sudo без tty.

By Evgeny Shmelev

Включение/отключение Windows ПК через Home Assistant (Wake-on-LAN + RPC Shutdown)

Создаём единый переключатель в Home Assistant для управления Windows-компьютером. Включение через стандартный Wake-on-LAN, выключение через аддон RPC Shutdown. Инструкция по правке реестра Windows для удалённого выключения.

By Evgeny Shmelev