Как изменить имя хоста в Ubuntu 20.04

Имя хоста задается во время установки операционной системы или динамически назначается виртуальной машине при ее создании.

В этом руководстве объясняется, как установить или изменить имя хоста в 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.linuxize.com , вы должны использовать следующую команду:

sudo hostnamectl set-hostname neptune.linuxize.com

При желании вы также можете установить красивое имя хоста:

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.linuxize.com

# 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.linuxize.com
   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 без перезагрузки компьютера.

Существует ряд причин, по которым вам может потребоваться изменить имя хоста. Чаще всего это когда имя хоста устанавливается автоматически при создании экземпляра.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Оставьте комментарий