Обычно имя хоста задается во время установки операционной системы или динамически назначается виртуальной машине при ее создании.
Существует ряд причин, по которым вам может потребоваться изменить имя хоста. Наиболее распространенным является случай, когда имя хоста автоматически устанавливается при создании экземпляра.
В этой статье объясняется, как установить или изменить имя хоста в CentOS 8 без перезагрузки системы.
Предпосылки
Прежде чем продолжить эту статью, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo.
Понимание имен хостов
Имя хоста – это метка, которая идентифицирует устройство в сети. У вас не должно быть двух или более компьютеров с одинаковым именем хоста в одной сети.
Есть три класса hostname: static, pretty и transient.
- static – Традиционное имя хоста. Он хранится в файле /etc/hostname и может быть установлен пользователем.
- pretty – Свободное имя хоста UTF8, используемое для представления пользователю. Например, AndreyEx’s desktop.
- transient – Динамическое имя хоста, поддерживаемое ядром. Серверы DHCP или mDNS могут изменять временное имя хоста во время выполнения. По умолчанию оно совпадает с именем хоста static.
Рекомендуется использовать полное доменное имя (FQDN) для обоих static и transient таких имен, как host.example.ru.
Отображение текущего имени хоста
Чтобы просмотреть текущее имя хоста, выполните следующую команду:
hostnamectl
В этом примере текущее имя хоста установлено в centos8.localdomain.
Изменение имени хоста
Способ 1: использование команды hostnamectl
В CentOS 8 и во всех других дистрибутивах Linux, использующих systemd, вы можете изменить имя хоста системы и соответствующие настройки с помощью команды hostnamectl. Синтаксис выглядит следующим образом:
sudo hostnamectl set-hostname host.example.ru sudo hostnamectl set-hostname "Your Pretty HostName" --pretty sudo hostnamectl set-hostname host.example.ru --static sudo hostnamectl set-hostname host.example.ru --transient
Например, чтобы изменить системное статическое имя хоста host.AndreyEx.ru, вы должны использовать следующую команду:
sudo hostnamectl set-hostname host.AndreyEx.ru
Чтобы установить красивое имя хоста AndreyEx’s desktop, введите:
sudo hostnamectl set-hostname "AndreyEx's desktop" --pretty
Команда hostnamectl не производит вывод. В случае успеха возвращается 0, в противном случае – ненулевой код ошибки.
Чтобы убедиться, что имя хоста было успешно изменено, используйте команду hostnamectl.
Способ 2: с помощью команды nmtui
nmtui это инструмент на основе взаимодействия с NetworkManager. Он также может быть использован для установки или изменения имени хоста.
Запустите инструмент, набрав его имя в терминале:
sudo nmtui
Используйте клавиши со стрелками для перемещения по параметрам, выберите Set system hostname и нажмите Enter.
Введите новое имя хоста.
Нажмите Enter, чтобы подтвердить новое имя хоста.
Наконец, перезапустите службу systemd-hostnamed, чтобы изменения вступили в силу.
sudo systemctl restart systemd-hostnamed
Способ 3: с помощью команды nmcli
nmcli является инструментом командной строки для управления NetworkManager и может также использоваться для изменения имени хоста системы.
Чтобы просмотреть текущее имя хоста, введите:
sudo nmcli g hostname
Чтобы изменить имя хоста, host.AndreyEx.ru используйте следующую команду:
sudo nmcli g hostname host.AndreyEx.ru
Чтобы изменения вступили в силу, перезапустите службу systemd-hostnamed:
sudo systemctl restart systemd-hostnamed
Заключение
Чтобы задать или изменить имя хоста в системе CentOS, используйте команду hostnamectl set-hostname, а затем новое имя хоста.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.