Как изменить имя хоста в Linux
Важно: имя хоста влияет на отображение в локальной сети и некоторые сетевые службы. Действия требуют прав root или sudo.
Что такое имя хоста?
Имя хоста (hostname) — это удобочитаемое имя компьютера в сети. Оно соответствует IP-адресу в «человеческом» виде и помогает пользователям и администраторам быстро идентифицировать машины. Например, “larry-laptop” понятнее, чем “192.168.0.24”.
Краткое определение: hostname — единословное имя устройства в сети, которое показывает, как машина видна другим устройствам и интерфейсам.
Почему стоит менять имя хоста
- Избежать дублирования имён на одной сети (по умолчанию Ubuntu ставит “ubuntu”).
- Сделать устройство понятным для пользователей (рабочие станции, серверы, тестовые стенды).
- Упрощение мониторинга и управления конфигурациями.
Как изменить имя хоста через графические настройки
На большинстве десктопов Ubuntu (GNOME) самый быстрый способ — открыть “Settings” и перейти в раздел About. Там найдите строку с названием устройства (Device Name) — это и есть текущий hostname.
Нажмите на “Device Name” — появится диалог переименования. Введите новое имя и кликните “Rename”. Изменение вступит в силу сразу и будет сохраняться между перезагрузками.
Примечание: метки интерфейса («About», “Device Name”, “Rename”) могут отличаться в других окружениях рабочего стола.
Как изменить имя хоста через терминал
Если в вашем окружении нет соответствующей настройки в GUI, используйте терминал. Команда systemd — hostnamectl — работает в большинстве современных дистрибутивов.
Команда для просмотра текущей информации:
hostnamectlПример вывода — как он будет выглядеть в терминале:
Чтобы задать новое имя хоста, выполните:
sudo hostnamectl set-hostname new-hostnameЗамените new-hostname желаемым именем. После выполнения можно снова запустить hostnamectl или команду hostname для проверки:
hostnamectl
hostnameИзменение, выполненное таким способом, обычно применяется немедленно и сохраняется после перезагрузки.
Альтернативные методы
Если systemd или hostnamectl недоступны, есть классический метод через правку системных файлов:
- Отредактируйте /etc/hostname — в этом файле обычно находится текущее короткое имя хоста (одна строка):
sudo nano /etc/hostname- Обновите /etc/hosts, чтобы сопоставление имён и локального IP работало корректно. Обычно там есть строка вида:
127.0.1.1 старое-имя-хостаЗамените старое имя на новое.
- Перезагрузите систему или примените изменения командой:
sudo systemctl restart systemd-hostnamedОбновление /etc/hosts важно для корректной работы некоторых локальных сервисов и утилит.
Когда это не сработает (контрпримеры)
- Дистрибутив старой архитектуры без systemd: hostnamectl будет недоступен — используйте правку /etc/hostname и /etc/hosts.
- Если на машине настроен централизованный management (например, облачный образ с облачным агентом) — имя может перезаписываться при старте. В таких случаях нужно изменять настройки в системе управления (cloud-init, Salt, Puppet, Ansible и т.д.).
- В контейнерах и некоторых виртуализованных окружениях имя хоста может наследоваться от хоста-контейнера.
Советы по выбору имени
- Длина: отдельный лейбл доменного имени не должен превышать 63 символа; полное доменное имя — 255 символов. Следуйте общим сетевым ограничениям (RFC).
- Разрешённые символы: буквы латинского алфавита, цифры и дефис. Не начинайте и не завершайте именo дефисом.
- Удобочитаемость: используйте смысловые имена (web01, db-prod, laptop-ivan).
Факты и ограничения
- Максимальная длина одного лейбла DNS: 63 символа.
- Полное доменное имя: до 255 символов.
- Некоторые дистрибутивы по умолчанию присваивают одно и то же имя новым установкам — это источник конфликтов в локальных сетях.
Шпаргалка команд
- Посмотреть текущее имя:
hostname
hostnamectl- Установить имя (systemd):
sudo hostnamectl set-hostname new-hostname- Изменить вручную:
sudo nano /etc/hostname
sudo nano /etc/hosts
sudo systemctl restart systemd-hostnamed- Проверить сопоставления в /etc/hosts:
cat /etc/hostsКритерии приёмки
- На машине отображается новое имя (hostname или hostnamectl показывает новое значение).
- /etc/hostname содержит новую строку с именем хоста.
- /etc/hosts обновлён так, чтобы локальные сервисы не зависели от старого имени (если применимо).
- Имя не конфликтует с другими устройствами в сети.
Контрольный список по ролям
Для пользователя (рабочая станция):
- Есть sudo-доступ.
- Выбрано понятное имя (по шаблону отдела/фамилии).
- Проверено отображение в сети.
Для администратора (серверы/инфраструктура):
- Убедиться, что изменение не нарушит мониторинг, CMDB и резервные копии.
- Обновить конфигурации управления (Ansible, Puppet, cloud-init).
- Обновить /etc/hosts на соседних устройствах при необходимости.
Совместимость и миграция
- hostnamectl работает на systemd-системах (современные дистрибутивы: Ubuntu, Debian, Fedora, CentOS 7+ и др.).
- На старых системах без systemd используйте /etc/hostname и /etc/hosts.
- В облачных образах проверяйте настройки cloud-init или провайдера — они могут перезаписывать hostname при загрузке.
Краткое резюме
Изменение имени хоста в Linux — простая операция: используйте GUI (Настройки → About → Device Name) на десктопах или команду hostnamectl в терминале. Если systemd недоступен — редактируйте /etc/hostname и /etc/hosts вручную. Всегда проверяйте совместимость с системами управления и следите за уникальностью имени в сети.
И ещё: после изменения имени убедитесь, что все зависимые сервисы и записи (мониторинг, DNS, CMDB) актуализированы.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента