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

Как изменить hostname (имя компьютера) в Ubuntu

6 min read Linux Обновлено 23 Dec 2025
Изменить hostname в Ubuntu — краткое руководство
Изменить hostname в Ubuntu — краткое руководство

  • Быстрое решение: отредактируйте /etc/hostname и /etc/hosts, затем выполните sudo hostname <новое-имя> для немедленного результата или перезагрузитесь для постоянного.
  • Альтернатива: на современных Ubuntu используйте sudo hostnamectl set-hostname <новое-имя> — это изменит hostname корректно для systemd-систем.

Быстрая навигация

  • Выбор имени (hostname)
  • Редактирование /etc/hostname
  • Редактирование /etc/hosts
  • Немедленное изменение без перезагрузки
  • Альтернативные методы
  • Проверка, тесты, и рекомендации

Изображение: инструкция по изменению hostname в Ubuntu

Ubuntu предлагает задать имя компьютера (hostname) при установке. Его можно изменить позже вручную — графического инструмента в стандартной установке обычно нет.

Процесс описанный ниже работает для Ubuntu, Linux Mint и других Debian-подобных дистрибутивов. Для дистрибутивов на базе Red Hat (Fedora, RHEL и др.) используются другие механизмы, часто основанные на systemd, но идея похожа.

Выбор имени (hostname)

Hostname — это идентификатор компьютера в сети. Он нужен для однозначного определения устройства внутри локальной сети и отображается в приглашении терминала.

Правила выбора имени:

  • Допустимые символы: латинские буквы a–z, цифры 0–9, дефис (-) и точка (.).
  • Имя должно начинаться и заканчиваться буквой или цифрой (не дефис и не точка).
  • Буквы нечувствительны к регистру: MyHost = myhost.
  • Длина: обычно от 2 до 63 символов; практичны короткие имена.
  • Не используйте одно и то же имя на двух компьютерах в одной сети — это приведёт к конфликтам.

Совет: используйте понятные и предсказуемые имена, например web01, laptop-ivan, db-master. Это упрощает администрирование и автоматизацию.

Редактирование /etc/hostname

Откройте терминал. В Unity нажмите кнопку Ubuntu, найдите “Terminal” и откройте его. Можно использовать сочетание Ctrl+Alt+T.

Открытие терминала в Ubuntu

Файл /etc/hostname хранит текущее системное имя. Откройте его в текстовом редакторе с правами суперпользователя. Пример для графического редактора gedit:

sudo gedit /etc/hostname

Если вы предпочитаете консольные редакторы, используйте:

sudo nano /etc/hostname

или

sudo vi /etc/hostname

Редактирование /etc/hostname в текстовом редакторе

Файл обычно содержит только одну строку — текущее имя хоста. Замените её на новое имя и сохраните файл.

Файл /etc/hostname с новым именем

Изменение в этом файле применяется при загрузке системы: при следующем старте система прочитает /etc/hostname и установит новое имя.

Редактирование /etc/hosts

Чтобы локальные обращения к вашему хосту корректно разрешались, отредактируйте файл /etc/hosts. В нём имя хоста сопоставлено с локальным IP (127.0.1.1 в Debian/Ubuntu):

sudo gedit /etc/hosts

Открытие /etc/hosts для редактирования

Найдите строку, похожую на:

127.0.1.1 your-old-hostname

Замените your-old-hostname на ваше новое имя хоста и сохраните файл.

Замена старого имени на новое в /etc/hosts

После сохранения /etc/hosts локальные резолвы (например ping localhost-алиасов) будут использовать новое имя.

Обновлённый файл /etc/hosts с новым hostname

Изменение hostname немедленно (без перезагрузки)

Чтобы применить новое имя немедленно, выполните команду hostname или hostnamectl.

Классический способ (временное до перезагрузки):

sudo hostname your-new-hostname

Изменение hostname без перезагрузки

Этот способ изменит имя до следующей перезагрузки. Чтобы изменение было постоянным, не забудьте обновить /etc/hostname и /etc/hosts.

Современный способ на systemd-системах (постоянно и корректно для systemd):

sudo hostnamectl set-hostname your-new-hostname

Проверить текущее состояние можно:

hostnamectl status

или

hostname

Имейте в виду: терминал может не обновить приглашение сразу — откройте новую сессию терминала или выполните exit и запустите терминал снова.

Проверка нового hostname в терминале

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

  • Network Manager GUI: некоторые окружения рабочего стола (GNOME, KDE) позволяют изменять имя хоста через системные настройки сети.
  • nmcli (NetworkManager CLI): в специфичных сценариях NetworkManager может управлять hostname; проверьте документацию nmcli.
  • Cloud-init: облачные образы иногда перезаписывают /etc/hostname на старте через cloud-init. В таких системах изменяйте конфигурацию cloud-init или отключите автоматическое переименование.
  • Salt/Ansible/Chef/Puppet: в средах с автоматизацией имя хоста обычно задаётся централизованно и может переопределять локальные изменения.

Проверка и тесты (критерии приёмки)

Критерии приёмки для успешного изменения hostname:

  • /etc/hostname содержит новое имя.
  • /etc/hosts содержит строку с 127.0.1.1 и новым именем (если применимо).
  • hostnamectl status возвращает новое имя (на systemd-системах).
  • Команда hostname возвращает новое имя.
  • Новая сессия терминала отображает обновлённый приглашение с новым именем.
  • Локальные службы (например SSH) корректно запускаются и не конфликтуют с DNS/hosts.

Проверьте эти пункты сразу после изменений и после перезагрузки.

Типичные проблемы и как их решать

  1. Имя не меняется после перезагрузки:

    • Убедитесь, что вы сохранили /etc/hostname и /etc/hosts.
    • Проверьте, не перезаписывается ли файл cloud-init или конфигурацией провайдера.
  2. Конфликты в локальной сети (два устройства с одним именем):

    • Переименуйте одно из устройств.
    • Для серверов используйте уникальные имена (например добавьте z-название окружения: db-prod-01).
  3. SSH / сервисы используют старое имя:

    • Перезапустите сервисы или перезагрузите систему.
    • Проверьте файлы конфигурации сервисов, где может быть явно прописано старое имя.
  4. hostnamectl не работает или отсутствует:

    • В старых системах systemd может не быть; используйте sudo hostname и редактируйте /etc/hostname вручную.

Безопасность и приватность

  • Имя хоста не считается чувствительной информацией, но в некоторых организациях название может раскрывать роль сервера или его расположение. Следуйте корпоративной политике именования.
  • Не включайте в hostname личные данные (фамилии, номера телефонов, пароли).

Решение задач по ролям (короткие чеклисты)

Администратор инфраструктуры:

  • Проверить политику именования в документации.
  • Обновить /etc/hostname и /etc/hosts или использовать централизованные инструменты.
  • Обновить CMDB/инвентаризацию.

Пользователь локального ноутбука:

  • Выбрать простое имя (например laptop-ivan).
  • Изменить /etc/hostname и /etc/hosts.
  • Перезагрузить или выполнить sudo hostname <имя> для текущей сессии.

DevOps/Автоматизация:

  • Обновить playbook/recipe, чтобы новые машины получали нужный hostname автоматически.
  • Убедиться, что cloud-init или провайдер не перезаписывают имя.

Модель принятия решения — когда использовать что

  • Для единичных рабочих станций: редактируйте /etc/hostname и /etc/hosts вручную.
  • Для серверов и автоматизированных сред: задавайте имя через инструменты автоматизации (Ansible/Cloud-init) или hostnamectl в процессе конфигурации.
  • Если система использует systemd — предпочтителен hostnamectl.

Мини-методология (шаги для безопасного изменения hostname)

  1. Запланируйте окно обслуживания, если меняете сервер.
  2. Сделайте резервную копию /etc/hostname и /etc/hosts:

sudo cp /etc/hostname /etc/hostname.bak

sudo cp /etc/hosts /etc/hosts.bak

  1. Отредактируйте /etc/hostname, затем /etc/hosts.
  2. Примените командой sudo hostnamectl set-hostname или sudo hostname.
  3. Проверьте службы (ssh, web, БД) и логи на ошибки.
  4. Обновите документацию и инвентарь.

Примеры команд

  • Просмотреть текущее имя:

hostname

  • Временное изменение до перезагрузки:

sudo hostname new-hostname

  • Постоянное изменение (systemd):

sudo hostnamectl set-hostname new-hostname

  • Проверить статус systemd-hostnamed:

hostnamectl status

Диагностика и тест-кейсы

  • Тест 1: После изменения hostname команда hostname возвращает ожидаемое значение.
  • Тест 2: После перезагрузки /etc/hostname по-прежнему содержит новое имя.
  • Тест 3: С другого локального устройства выполните ping new-hostname; он должен резолвиться на 127.0.1.1 (локально) или через DNS, если настроен.
  • Тест 4: Службы (например SSH) запускаются без ошибок, связанных с именем хоста.

Mermaid: простой алгоритм решения

flowchart TD
  A[Начать] --> B{Удалённый сервер или рабочая станция?}
  B -->|Рабочая станция| C[Изменить /etc/hostname и /etc/hosts]
  B -->|Сервер| D[Проверить автоматизацию 'cloud-init/Ansible']
  D --> E{Если автоматизация есть}
  E -->|Да| F[Изменить конфиг автоматизации]
  E -->|Нет| C
  C --> G[Применить sudo hostnamectl или sudo hostname]
  G --> H[Проверить hostname и перезагрузить при необходимости]
  H --> I[Обновить документацию]
  I --> J[Готово]

Краткий глоссарий (одна строка на термин)

  • hostname — системное имя компьютера в сети.
  • /etc/hostname — файл, содержащий постоянное имя хоста в Debian-подобных системах.
  • /etc/hosts — локальный файл сопоставления имён и IP-адресов.
  • hostnamectl — утилита systemd для управления именем хоста.

Итог

Изменение имени хоста в Ubuntu — простая операция: обновите /etc/hostname и /etc/hosts, примените новое имя командой hostnamectl или hostname и проверьте систему. В средах с автоматизацией или облачных образах убедитесь, что конфигурация не будет перезаписывать ваши изменения.

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

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

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

Голосовой ввод в Windows 11 — включение и советы
Windows

Голосовой ввод в Windows 11 — включение и советы

Уведомления Google Форм на email — настройка
Google Forms

Уведомления Google Форм на email — настройка

Petey на Apple Watch — ChatGPT на запястье
Приложения

Petey на Apple Watch — ChatGPT на запястье

Искать по содержимому в Windows: добавить типы файлов
Windows

Искать по содержимому в Windows: добавить типы файлов

MicroK8s: быстрый старт и эксплуатация
Kubernetes

MicroK8s: быстрый старт и эксплуатация

Как настроить гибернацию на Mac
macOS

Как настроить гибернацию на Mac