Как изменить имя хоста в 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 без аргументов:
В этом примере текущее имя хоста установлено на ubuntu2004.localdomain .
Изменение имени хоста системы
Изменение имени хоста системы — простой процесс. Синтаксис следующий:
sudo hostnamectl set-hostname host.example.com
sudo hostnamectl set-hostname "Your Pretty HostName" --pretty
sudo hostnamectl set-hostname host.example.com --static
sudo 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 . Откройте файл и измените старое имя хоста на новое.
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 :
# This will cause the set+update hostname module to not operate (if true) preserve_hostname: true
Сохраните файл и закройте редактор.
Проверить изменение
Чтобы убедиться, что имя хоста было полностью изменено, введите команду 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 без перезагрузки компьютера.
Существует ряд причин, по которым вам может потребоваться изменить имя хоста. Чаще всего это когда имя хоста устанавливается автоматически при создании экземпляра.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Записки IT специалиста
Linux — начинающим. Настраиваем имя хоста при помощи hostnamectl
Имя компьютера, в полном соответствии с известной поговоркой, как и имя лодки способно влиять на многое, прежде всего на удобство работы и восприятия. А неудачное имя способно только запутывать и заставлять каждый раз тратить дополнительное время. При этом очень хорошо, если у вас будет принята некоторая политика присвоения имен хостам, и вы будете ее придерживаться. А сегодня мы рассмотрим способы управления именем хоста и дополнительной информацией о нем, которые нам предоставляет systemd в виде утилиты hostnamectl.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Можно по-разному относиться к systemd, но нельзя не признать, что он дает администратору простые и удобные инструменты, которые всегда одинаково работают вне зависимости от дистрибутива. Один из них — hostnamectl, но это не просто еще одна утилита, а удобный и информативный инструмент.
Если вы первый раз оказались в незнакомой системе, то просто запустите:
И вы, кроме имени узла, получите массу полезной информации: версия ОС, версия ядра, архитектура, разрядность, а для виртуальных машин их тип и систему виртуализации. В целом здесь есть ответы на все первоначальные вопросы, которые возникают в новой системе.
При этом вам не нужно угадывать какая именно система перед вами и мучительно вспоминать команды, позволяющие посмотреть ее версию. В любой системе использующей systemd вывод будет выглядеть одинаковым. И только уже хотя бы поэтому о hostnamectl нужно знать.
Но перейдем к основному назначению данной утилиты, а именно управление именем хоста. В Linux поддерживается три возможных имени узла:
- Красивое (pretty) — это имя задается пользователем и может содержать пробелы и специальные символы, например «My Notebook Asus».
- Статичное (static) — задается администратором во время установки системы, может содержать только ASCII-символы без пробелов и точек, либо несколько групп символов через точки, если имя указано в формате FQDN. Максимальная длина — 64 символа.
- Временное (transient) — резервный вариант, получаемый при конфигурировании сети (например, node12345678), используется только в том случае, если не указано статическое имя.
У утилиты есть ряд доступных команд, чтобы ознакомиться с ними наберите:
В ответ на экран будет выведена короткая, но исчерпывающая справка по использованию данного инструмента.
Начнем с команды status, это команда по умолчанию, если вы ничего не указали, то подразумевается, что вы хотите выполнить status, так приведенная нами в самом начале команда:
Также мы можем указать, какое именно имя нас интересует:
hostnamectl status --pretty
По умолчанию в системе установлено статическое имя и аналогичное ему временное.
Остальные команды позволяют получать или устанавливать определенные параметры. Если вызвать команду без указания параметра, то она покажет текущее значение, если параметр указать — то он будет установлен. Так, например, для получения имени хоста используйте:
hostnamectl hostname newhostname
hostnamectl set-hostname newhostname
Последний вариант часто используется в инструкциях и документации, так как позволяет понять суть производимых действий без дополнительных пояснений.
При установке имени без использования дополнительных опций будут изменены все три имени, например, мы можем использовать такой вариант:
hostnamectl set-hostname "Ubuntu Browser Test"
В этом случае красивое имя будет установлено именно так, как мы указали, а статическое будет сформировано на его основе в наиболее близкой по содержанию форме.
Как видим, с красивым именем все хорошо, только вот статическое нам категорически не нравится. Давайте исправим именно его, для этого просто укажем команде дополнительную опцию:
hostnamectl set-hostname ubuntu-browser-test --static
А что, если мы еще захотим изменить и временное, но в этом случае система пояснит нам, что так как у нас уже задано статическое имя, то временное использоваться не будет.
Кроме имени хоста мы можем еще указать icon-name — специальное значение, согласно принятой спецификации, на основании которой многие графические утилиты будут автоматически выводить значок для системы.
Следующая необязательная опция — chassis, позволяет указать тип шасси, что влияет на отображение узла в некоторых графических приложениях или доступные способы взаимодействия с ним, допустимы следующие параметры: desktop, laptop, convertible, server, tablet, handset, watch, embedded, плюс два дополнительных типа для виртуальных машин vm и container.
Однако практической необходимости менять эти опции нет. Гораздо интереснее и полезнее использовать следующие две команды.
Так команда deployment позволяет указать среду развертывания данного узла, рекомендуемые значения: development, integration, staging, production, но вы можете указать и свое значение, обязательное условие — это должно быть одно слово, не содержащее недопустимых символов.
hostnamectl deployment testing
Следующая команда — location — позволяет задать размещение узла в любой произвольной форме, можете написать туда все, что хотите, включая адрес, место размещения в стойке и т.д. и т.п.
hostnamectl location "Lan Lab IT31"
Вся указанная информация будет доступна при выполнении команды status.
Это удобно, так как позволяет быстро понять в каком контуре развернута данная машина и где именно она расположена. Мы рекомендуем использовать данные опции, так как это позволяет быстро получить дополнительную информацию и избежать дополнительных вопросов или досадных ошибок, например, перепутав тестовый сервер с рабочим.
И, наконец, еще одна интересная опция —json, которая позволяет вывести результат в формате JSON, что удобно для последующей машинной обработки. У опции есть два параметра pretty и short, в первом случае выводится человекочитаемый формат, во втором — короткий.
На этом наша статья подходит к концу, как видим, hostnamectl — это мощный и удобный инструмент, возможности которого не сводятся только к изменению имени хоста и каждый системный администратор, работающий с современным Linux должен знать и уметь пользоваться этим инструментом.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Дополнительные материалы:
- Linux — начинающим. Часть 1. Первое знакомство
- Linux — начинающим. Часть 2. Установка Ubuntu Server
- Linux — начинающим. Часть 3. Установка Debian 7 для сервера
- Linux — начинающим. Часть 4. Работаем с файловой системой. Теория
- Linux — начинающим. Часть 4. Работаем с файловой системой. Практика
- Linux — начинающим. Часть 5. Управление пакетами в Debian и Ubuntu
- Linux — начинающим. Часть 6. Управление пользователями и группами. Теория
- Linux — начинающим. Часть 6. Управление пользователями и группами. Практика
- Linux — начинающим. Часть 7. Потоки, перенаправление потоков, конвейер
- Настройка языка и региональных стандартов в Ubuntu Server/Debian
- Используем APT Pinning для закрепления пакетов в Debian и Ubuntu
- Linux — начинающим. Что такое Load Average и какую информацию он несет
- Обновляем снятый с поддержки дистрибутив Ubuntu
- Linux — начинающим. Обновление Debian до следующего выпуска
- Осваиваем эффективную работу в Midnight Commander
- Linux — начинающим. Что такое пространства подкачки и как они работают
- Linux — начинающим. Screen — многозадачность в терминале и ни единого разрыва!
- Linux — начинающим. Как узнать температуру процессора и накопителей
- Linux — начинающим. Как получить информацию об оборудовании ПК
- Linux — начинающим. Установка и первоначальная настройка Debian 11 для сервера
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал: