
Имя хоста задается во время установки операционной системы или динамически назначается виртуальной машине при ее создании.
В этом руководстве объясняется, как задать или изменить имя хоста в Ubuntu 20.04 без необходимости перезапуска системы.
Понимание имен хостов
Имя хоста — это метка, идентифицирующая устройство в сети. Не допускается наличие двух или более устройств с одинаковым именем хоста в одной сети.
В Ubuntu вы можете изменить имя хоста системы и связанные с ним настройки с помощью команды hostnamectl . Эта утилита распознаёт три различных класса имён хостов:
-
static— традиционное имя хоста. Оно хранится в файле/etc/hostnameи может быть задано пользователем. -
pretty— описательное имя хоста в свободной форме в кодировке UTF8, используемое для представления пользователю. Например,Linuxize's laptop. -
transient— динамическое имя хоста, поддерживаемое ядром. DHCP-серверы или mDNS могут изменять временное имя хоста во время выполнения. По умолчанию оно совпадает соstaticименем хоста.
Рекомендуется использовать полное доменное имя ( FQDN ), например host.example.com , как для static , так и transient имен.
Изменить имя хоста системы могут только пользователи root или с привилегиями sudo .
Отображение текущего имени хоста
Чтобы просмотреть текущее имя хоста, вызовите команду hostnamectl без аргументов:
hostnamectl

В этом примере текущее имя хоста — ubuntu2004.localdomain .
Изменение имени хоста системы
Изменение имени хоста системы — простая процедура. Синтаксис следующий:
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
Например, чтобы изменить статическое имя хоста системы на neptune.linuxgazette.ru , используйте следующую команду:
sudo hostnamectl set-hostname neptune.linuxgazette.ru
При желании вы также можете задать красивое имя хоста:
sudo hostnamectl set-hostname "Linuxize's laptop" --pretty
hostnamectl не выводит данные. В случае успешного выполнения возвращается 0, в противном случае — ненулевой код ошибки.
Статическое имя хоста хранится в файле /etc/hostname , а корректное имя хоста хранится в файле /etc/machine-info .
Не следует использовать одно и то же имя хоста на двух разных машинах в одной сети.
В большинстве систем имя хоста отображается как 127.0.0.1 в файле /etc/hosts . Откройте файл и измените старое имя хоста на новое.
/etc/hosts
127.0.0.1 localhost 127.0.0.1 neptune.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 на облачном экземпляре и установлен пакет 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
Сохраните файл и закройте редактор.
Проверьте изменения
Чтобы убедиться, что имя хоста полностью изменено, введите команду hostnamectl :
hostnamectl
Ваше новое имя хоста будет выведено на терминал:
Static hostname: neptune.linuxgazette.ru Pretty hostname: Linuxize's desktop Icon name: computer-vm Chassis: vm Machine ID: a04e3543f3da460294926b7c41e87a0d Boot ID: aa31b274703440dfb622ef2bd84c52cb Virtualization: oracle Operating System: Ubuntu 20.04 LTS Kernel: Linux 5.4.0-26-generic Architecture: x86-64
Заключение
Мы показали вам, как легко изменить имя хоста при установке Ubuntu 20.04 без перезагрузки компьютера.
Существует ряд причин, по которым может потребоваться сменить имя хоста. Наиболее распространённая — это автоматическое назначение имени хоста при создании экземпляра.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Имя хоста Ubuntu Не используете Ubuntu 20.04?
Выберите другую ОС: центос 7 центос 8 дебиан 10 дебиан 9 убунту 18.04 убунту 22.04
Связанные руководства