Гид по технологиям

Как изменить hostname в Linux без перезагрузки

• 4 min read • Linux • Обновлено 28 Nov 2025
Сменить hostname Linux без перезагрузки
Сменить hostname Linux без перезагрузки

Инструкция: как изменить hostname Linux без перезагрузки

Быстрые ссылки

  • Изменение имени хоста

Изменение имени хоста

Если вы администрируете сервер и не можете допустить простоя, то можно сменить hostname без полной перезагрузки системы. Процесс состоит из трёх частей: изменение конфигурации для постоянного эффекта, изменение локного /etc/hosts, и временная смена текущего имени в памяти ядра/демонов.

  1. Сначала измените конфигурационный файл, который отвечает за имя хоста. Точный файл зависит от дистрибутива:
  • Red Hat-подобные (RHEL, CentOS, Fedora): отредактируйте /etc/sysconfig/network и найдите строку HOSTNAME=
  • SuSE: отредактируйте /etc/HOSTNAME
  • Debian/Ubuntu: отредактируйте /etc/hostname

Пример: в RHEL-подобных замените строку вида

HOSTNAME=oldhostname

на

HOSTNAME=mdmvr14s9db

/wordpress/wp-content/uploads/sg/2010/06/cap22.jpg

  1. Обновите локальный файл /etc/hosts, чтобы перекрестные ссылки на старое имя указывали на новое. Это важно для локальных соединений и для некоторых сервисов, которые читают /etc/hosts до запроса DNS.

Найдите строку с вашим старым именем, например:

/wordpress/wp-content/uploads/sg/2010/06/cap32.jpg

Замените её на новую запись:

/wordpress/wp-content/uploads/sg/2010/06/cap42.jpg

  1. Теперь временно установите новое имя в текущей сессии ядра/демонов. Есть два подхода:
  • Портабельный, старый способ:
# hostname mdmvr14s9db
  • Современный systemd-путь (рекомендуется на системах с systemd):
# hostnamectl set-hostname mdmvr14s9db

После этого проверьте текущий hostname:

$ hostname
mdmvr14s9db
  1. Перезапустите сетевые службы, чтобы все сетевые интерфейсы и демоны подхватили новое имя. На RHEL-подобных системах с init.d/Сервисами:
# service network restart

Или универсальный путь (если у вас /etc/init.d):

#/etc/init.d/network restart

На systemd-системах можно перезапустить NetworkManager или соответствующий сетевой сервис:

# systemctl restart NetworkManager
# или
# systemctl restart network
  1. После всех шагов протестируйте:
  • Выполните hostname и hostnamectl.
  • Проверьте локальные соединения и сервисы, которые используют имя хоста.
  • Обновите DNS: измените A-запись в вашей зоне и перезапустите/обновите демона DNS, если вы управляете им самостоятельно.

Важно: смена имени хоста локально не распространяет его по сети. DNS-пропагация и кэширование по-прежнему влияют на доступность для внешних клиентов.

Частые проблемы и когда это не сработает

  • Сервисы с жёстко прописанными (hard-coded) именами в конфигурации продолжат обращаться по старому имени — их нужно обновить вручную.
  • Системы с кластерными конфигурациями или специальными лицензиями (где имя хоста используется в лицензионных ключах) могут потребовать дополнительных действий.
  • Если система использует внешнюю систему управления конфигурациями (Puppet, Chef, Ansible), предварительно обновите соответствующие манифесты/рецепты, чтобы изменения не были перезаписаны.
  • DNS-кэш у клиентов и прокси может задержать доступ до сервиса после смены A-записи.

Альтернативные подходы

  • Использовать hostnamectl для систем с systemd (встроенный, атомарный метод).
  • Если невозможно быстро менять DNS, настройте дополнительный A-запись или CNAME на старое имя, указывающий на новый IP/хост, до завершения пропагации.
  • В контейнерных средах (Docker, Kubernetes) обычно изменяют отображаемое имя в orchestrator/конфигурации контейнера вместо изменения внутри контейнера.

Чек‑лист перед и после смены hostname (роль: системный администратор)

  • Перед сменой:

    • Сделать резервную копию /etc/hosts, /etc/hostname, /etc/sysconfig/network.
    • Проверить конфигурации приложений на жёсткие ссылки по имени хоста.
    • Сообщить заинтересованным сторонам (мониторинг, CI/CD, поддержка).
  • Выполнение:

    • Обновить конфигурационный файл для дистрибутива.
    • Обновить /etc/hosts.
    • Выполнить hostnamectl set-hostname или hostname.
    • Перезапустить сетевые сервисы.
    • Обновить запись в DNS (A-запись).
  • После смены:

    • Проверить, что мониторинг и бэкапы видят хост под новым именем.
    • Проверить логи на ошибки, связанные с именем хоста.
    • Обновить документацию и CMDB.

Шпаргалка команд

# Просмотреть текущее имя
hostname
hostnamectl status

# Временно задать имя
hostname new-name

# Постоянно задать имя на systemd-системах
hostnamectl set-hostname new-name

# Перезапустить сетевые сервисы
service network restart
/etc/init.d/network restart
systemctl restart NetworkManager

# Проверить /etc/hosts
cat /etc/hosts

# Проверить DNS из клиента
dig +short your-host.example.com
nslookup your-host.example.com

Риски и рекомендации по снижению последствий

  • Риск: потеря связи мониторинга и пользователей. Смягчение: уведомить команды и задать переходную DNS-запись.
  • Риск: служба использует старое имя в конфигурации. Смягчение: провести аудит конфигов и применить пошаговое переключение.
  • Риск: автоматизированные системы перезаписывают имя. Смягчение: синхронизировать изменения с системой управления конфигурацией.

Критерии приёмки

  • Команда hostname и hostnamectl возвращают новое имя.
  • Запись в /etc/hosts обновлена и содержит новое имя.
  • Сервисы запускаются без ошибок, связанных с именем хоста.
  • Мониторинг и бэкапы видят машину под новым именем.
  • DNS A-запись обновлена и пропагация завершена (по возможности).

Однострочный глоссарий

  • hostname — имя хоста, которое ОС использует для идентификации машины в сети.
  • DNS A-запись — привязка доменного имени к IPv4-адресу.
  • hostnamectl — инструмент systemd для управления именем хоста.

Итог

Изменение hostname без перезагрузки — стандартная задача администрирования: поменяйте конфигурацию для постоянного эффекта, обновите /etc/hosts, временно установите имя в памяти и перезапустите сетевые сервисы. Не забудьте про DNS, конфигурации приложений и системы управления конфигурациями. Планирование и проверка минимизируют риск простоя.

ВАЖНО: всегда сохраняйте резервные копии конфигураций и согласуйте смену с командами, которые зависят от имени хоста.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро