- Записки IT специалиста
- Linux — начинающим. Настраиваем имя хоста при помощи hostnamectl
- Дополнительные материалы:
- Как изменить имя компьютера в Linux
- Смена имени через команду и файл hostname
- Смена имени через sysctl
- Смена имени через hostnamectl
- Как установить или изменить имя хоста в Linux
- Что такое имя хоста
- Отображение текущего имени хоста
- Изменение имени хоста
- Выводы
Записки 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 для сервера
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Как изменить имя компьютера в Linux
Если вам понадобилось изменить имя на вашем сервере/персональном компьютере/еще чем-то, и это что-то работает под Linux, то сделать это можно следующими способами:
Смена имени через команду и файл hostname
Если целью стоит быстрая смена имени, то для этой цели вполне может подойти команда hostname. Просто пишем следующую команду:
где НОВОЕИМЯ — это новое имя. Смена имени устройства произойдет сразу же как только вы выполните эту команду. Однако, как только произойдет перезагрузка, то имя компьютера сменится на то, что прописано в текстовом файле /etc/hostname. Поэтому, для постоянной смены имени компьютера, нужно отредактировать так же данный файл, изменив его содержимое на новое имя компьютера. После этого, даже после перезагрузки, у компьютера будет нужное вам имя.
Смена имени через sysctl
В новых дистрибутивах Linux, таких как Debian 8, Ubuntu 16 и т. д, быструю смену имени устройства можно осуществить с помощью команды sysctl kernel.hostname . Достаточно лишь выполнить команду:
sysctl kernel.hostname=НОВОЕИМЯ
где вместо НОВОЕИМЯ нужно указать желаемое имя. После этого нужно будет просто перелогиниться на устройство, и будет отображаться новое имя.
Смена имени через hostnamectl
Начиная с 7 версий таких дистрибутивов как CentOS и Red Hat Enterprise Linux (а так же в некоторых других, например Ubuntu), в них стала возможна смена имени устройства с помощью команды hostnamectl. Для этого данная команда используется следующим образом:
hostnamectl set-hostname НОВОЕИМЯ
конечно же не забыв поменять НОВОЕИМЯ на нужное вам. После выполнения команды все, что остается, это перезагрузить сервис systemd-hostnamed для применения изменений:
systemctl restart systemd-hostnamed
Как установить или изменить имя хоста в Linux
По умолчанию системное имя хоста задается во время процесса установки или, если вы создаете виртуальную машину, оно динамически назначается экземпляру при запуске, но бывают ситуации, когда вам нужно изменить его.
Это руководство проведет вас через процесс изменения имени хоста в Linux без перезапуска системы. Инструкции должны работать с любым современным дистрибутивом Linux, использующим systemd.
Что такое имя хоста
Имя хоста — это метка, присвоенная машине, которая идентифицирует машину в сети. Каждое устройство в сети должно иметь уникальное имя хоста.
Имя хоста может быть простой строкой, содержащей буквенно-цифровые символы, точки и дефисы. Если машина подключена к Интернету (например, к веб-серверу или почтовому серверу), рекомендуется использовать полное доменное имя (FQDN) в качестве имени хоста системы. Полное доменное имя состоит из двух частей: имени хоста и имени домена.
Отображение текущего имени хоста
В системах Linux, использующих systemd, команду hostnamectl можно использовать для запроса и изменения имени хоста и связанных настроек на данном компьютере.
Чтобы просмотреть текущее имя хоста, вызовите команду hostnamectl без аргументов:
Имя хоста системы выделено на изображении ниже:
Изменение имени хоста
Чтобы изменить имя хоста, вызовите команду hostnamectl с аргументом set-hostname за которым следует новое имя хоста. Только root или пользователь с привилегиями sudo может изменить системное имя хоста.
Например, чтобы изменить системное имя хоста на mail.linuxize.com , вы должны использовать следующую команду:
sudo hostnamectl set-hostname mail.linuxize.com
Команда hostnamectl не выводит данные. В случае успеха возвращается 0 , в противном случае — ненулевой код ошибки.
Наконец, чтобы убедиться, что имя хоста было успешно изменено, еще раз используйте команду hostnamectl :
Новое имя хоста системы и некоторая дополнительная системная информация, такая как версия ядра, будет отображаться на терминале.
Static hostname: mail.linuxize.com Icon name: computer-vm Chassis: vm Machine ID: 70a3f06298014fd9ac42e5dc1de1034a Boot ID: 6d45a1a8d436418e97519da01ea61c1b Virtualization: oracle Operating System: Debian GNU/Linux 10 (buster) Kernel: Linux 4.19.0-5-amd64 Architecture: x86-64
Выводы
В этом руководстве мы показали вам, как изменить имя хоста вашей системы Linux. В зависимости от вашего дистрибутива Linux и типа виртуализации для завершения процесса могут потребоваться дополнительные шаги.
Инструкции для конкретного дистрибутива можно найти в следующих статьях:
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.