
Имя хоста — это удобочитаемая метка, назначаемая устройству и используемая для его идентификации в сети. Имя хоста задаётся во время установки операционной системы или динамически назначается виртуальной машине при её создании.
Каждая машина в сети должна иметь уникальное имя хоста. Наличие двух или более машин с одинаковым именем хоста в одной сети может привести к проблемам.
Изменить имя хоста системы могут только пользователи с правами root или sudo . В Ubuntu изменить имя хоста системы и связанные с ним настройки можно с помощью графического интерфейса или команды hostnamectl .
В этой статье объясняется, как задать или изменить имя хоста в Ubuntu 22.04 без необходимости перезапуска системы, используя командную строку или графический интерфейс.
Отображение текущего имени хоста
Чтобы просмотреть текущее имя хоста, вызовите команду hostnamectl без аргументов:
hostnamectl

В этом примере текущее имя хоста — ubuntu2004.localdomain .
Изменение имени хоста системы с помощью hostnamectl
Эта команда hostnamectl распознает три различных класса имен хостов:
-
static— традиционное имя хоста. Оно хранится в файле/etc/hostnameи может быть задано пользователем. -
pretty— описательное имя хоста в свободной форме в кодировке UTF8, используемое для представления пользователю. Например,Linuxize's laptop. -
transient— динамическое имя хоста, поддерживаемое ядром. DHCP-серверы или mDNS могут изменять временное имя хоста во время выполнения. По умолчанию оно совпадает соstaticименем хоста.
Как правило, рекомендуется использовать полное доменное имя ( FQDN ), например host.example.com , как для static , так и transient имен.
Изменение имени хоста системы — простая процедура. Синтаксис команды hostnamectl следующий:
sudo hostnamectl set-hostname host.example.comsudo hostnamectl set-hostname "Your Pretty HostName" --prettysudo hostnamectl set-hostname host.example.com --staticsudo hostnamectl set-hostname host.example.com --transient
Например, чтобы изменить статическое имя хоста системы на zoe.linuxgazette.ru , используйте следующую команду:
sudo hostnamectl set-hostname zoe.linuxgazette.ru
При желании вы также можете задать красивое имя хоста:
sudo hostnamectl set-hostname "Linuxize's laptop" --pretty
hostnamectl не выводит данные. В случае успешного выполнения возвращается 0; в противном случае — ненулевой код ошибки.
Статическое имя хоста хранится в файле /etc/hostname , а корректное имя хоста хранится в файле /etc/machine-info .
Чтобы убедиться, что имя хоста было изменено, введите команду hostnamectl :
sudo hostnamectl
Ваше новое имя хоста будет выведено на терминал:
Static hostname: zoe.linuxgazette.ru Pretty hostname: Linuxize's desktop Icon name: computer-vm Chassis: vm Machine ID: a04e3543f3da460294926b7c41e87a0d Boot ID: aa31b274703440dfb622ef2bd84c52cb Virtualization: oracle Operating System: Ubuntu 22.04 LTS Kernel: Linux 5.4.0-26-generic Architecture: x86-64
Изменение имени хоста в графическом интерфейсе
Если вы используете Ubuntu Desktop, вы можете использовать настройки GNOME, чтобы изменить имя хоста вашего компьютера.
Откройте системное меню в правом верхнем углу и нажмите «Настройки», как показано ниже:

В окне «Настройки» перейдите на вкладку «О программе» и нажмите «Имя устройства». Введите новое имя хоста вашей системы в открывшемся диалоговом окне и нажмите кнопку «Переименовать».

Это изменит как статические, так и красивые имена.
Файл /etc/hosts
Если имя хоста вашей системы не имеет публичного DNS-имени, вам необходимо сопоставить имя хоста с локальным IP-адресом.
Файл /etc/hosts используется для сопоставления IP-адресов с именами хостов. Это сопоставление используется сетевыми приложениями, работающими на экземпляре.
Откройте файл и измените старое имя хоста на новое:
/etc/hosts
127.0.0.1 localhost 127.0.0.1 zoe.linuxgazette.ru # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Облачный сервер Ubuntu
Если вы используете Ubuntu на облачном экземпляре и установлен пакет cloud-init , изменённое имя хоста будет восстановлено после перезагрузки системы. Этот пакет обычно устанавливается по умолчанию в образах, предоставляемых облачными провайдерами, и используется для инициализации облачных экземпляров.
Чтобы сделать изменение постоянным, отредактируйте файл /etc/cloud/cloud.cfg .
sudo vim /etc/cloud/cloud.cfg
Найдите preserve_hostname и измените значение с false на true :
/etc/cloud/cloud.cfg
# This will cause the set+update hostname module to not operate (if true) preserve_hostname: true
Сохраните файл и закройте редактор.
Если файл отсутствует в вашей системе, это означает, что пакет cloud-init не установлен и вам не нужно вносить никаких дальнейших изменений.
Заключение
Мы показали вам, как легко изменить имя хоста в установке Ubuntu 22.04 без перезагрузки компьютера.
Существует ряд причин, по которым может потребоваться изменить имя хоста. Наиболее распространённая — это автоматическое назначение имени хоста при создании экземпляра.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Имя хоста Ubuntu Не используете Ubuntu 22.04?
Выберите другую ОС: центос 7 центос 8 дебиан 10 дебиан 9 убунту 18.04 убунту 20.04
Связанные руководства