Linux - начинающим. Настраиваем имя хоста при помощи hostnamectl

  • Автор:

hostnamectl-linux-000.pngИмя компьютера, в полном соответствии с известной поговоркой, как и имя лодки способно влиять на многое, прежде всего на удобство работы и восприятия. А неудачное имя способно только запутывать и заставлять каждый раз тратить дополнительное время. При этом очень хорошо, если у вас будет принята некоторая политика присвоения имен хостам, и вы будете ее придерживаться. А сегодня мы рассмотрим способы управления именем хоста и дополнительной информацией о нем, которые нам предоставляет systemd в виде утилиты hostnamectl.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Можно по-разному относиться к systemd, но нельзя не признать, что он дает администратору простые и удобные инструменты, которые всегда одинаково работают вне зависимости от дистрибутива. Один из них - hostnamectl, но это не просто еще одна утилита, а удобный и информативный инструмент.

Если вы первый раз оказались в незнакомой системе, то просто запустите:

hostnamectl

И вы, кроме имени узла, получите массу полезной информации: версия ОС, версия ядра, архитектура, разрядность, а для виртуальных машин их тип и систему виртуализации. В целом здесь есть ответы на все первоначальные вопросы, которые возникают в новой системе.

hostnamectl-linux-001.pngПри этом вам не нужно угадывать какая именно система перед вами и мучительно вспоминать команды, позволяющие посмотреть ее версию. В любой системе использующей systemd вывод будет выглядеть одинаковым. И только уже хотя бы поэтому о hostnamectl нужно знать.

Но перейдем к основному назначению данной утилиты, а именно управление именем хоста. В Linux поддерживается три возможных имени узла:

  • Красивое (pretty) - это имя задается пользователем и может содержать пробелы и специальные символы, например "My Notebook Asus".
  • Статичное (static) - задается администратором во время установки системы, может содержать только ASCII-символы без пробелов и точек, либо несколько групп символов через точки, если имя указано в формате FQDN. Максимальная длина - 64 символа.
  • Временное (transient) - резервный вариант, получаемый при конфигурировании сети (например, node12345678), используется только в том случае, если не указано статическое имя.

У утилиты есть ряд доступных команд, чтобы ознакомиться с ними наберите:

hostnamectl -h 

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

hostnamectl-linux-002.pngНачнем с команды status, это команда по умолчанию, если вы ничего не указали, то подразумевается, что вы хотите выполнить status, так приведенная нами в самом начале команда:

hostnamectl 

На самом деле вызывает:

hostnamectl status

Также мы можем указать, какое именно имя нас интересует:

hostnamectl status --pretty

Или просто:

hostnamectl --pretty

По умолчанию в системе установлено статическое имя и аналогичное ему временное.

hostnamectl-linux-003.pngОстальные команды позволяют получать или устанавливать определенные параметры. Если вызвать команду без указания параметра, то она покажет текущее значение, если параметр указать - то он будет установлен. Так, например, для получения имени хоста используйте:

hostnamectl hostname

Для установки:

hostnamectl hostname newhostname

Также допускается запись:

hostnamectl set-hostname newhostname

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

При установке имени без использования дополнительных опций будут изменены все три имени, например, мы можем использовать такой вариант:

hostnamectl set-hostname "Ubuntu Browser Test"

В этом случае красивое имя будет установлено именно так, как мы указали, а статическое будет сформировано на его основе в наиболее близкой по содержанию форме.

hostnamectl-linux-004.pngКак видим, с красивым именем все хорошо, только вот статическое нам категорически не нравится. Давайте исправим именно его, для этого просто укажем команде дополнительную опцию:

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.

hostnamectl-linux-005.pngЭто удобно, так как позволяет быстро понять в каком контуре развернута данная машина и где именно она расположена. Мы рекомендуем использовать данные опции, так как это позволяет быстро получить дополнительную информацию и избежать дополнительных вопросов или досадных ошибок, например, перепутав тестовый сервер с рабочим.

И, наконец, еще одна интересная опция --json, которая позволяет вывести результат в формате JSON, что удобно для последующей машинной обработки. У опции есть два параметра pretty и short, в первом случае выводится человекочитаемый формат, во втором - короткий.

hostnamectl-linux-006.pngНа этом наша статья подходит к концу, как видим, hostnamectl - это мощный и удобный инструмент, возможности которого не сводятся только к изменению имени хоста и каждый системный администратор, работающий с современным Linux должен знать и уметь пользоваться этим инструментом.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Дополнительные материалы:


  1. Linux - начинающим. Часть 1. Первое знакомство
  2. Linux - начинающим. Часть 2. Установка Ubuntu Server
  3. Linux - начинающим. Часть 3. Установка Debian 7 для сервера
  4. Linux - начинающим. Часть 4. Работаем с файловой системой. Теория
  5. Linux - начинающим. Часть 4. Работаем с файловой системой. Практика
  6. Linux - начинающим. Часть 5. Управление пакетами в Debian и Ubuntu
  7. Linux - начинающим. Часть 6. Управление пользователями и группами. Теория
  8. Linux - начинающим. Часть 6. Управление пользователями и группами. Практика
  9. Linux - начинающим. Часть 7. Потоки, перенаправление потоков, конвейер
  10. Настройка языка и региональных стандартов в Ubuntu Server/Debian
  11. Используем APT Pinning для закрепления пакетов в Debian и Ubuntu
  12. Linux - начинающим. Что такое Load Average и какую информацию он несет
  13. Обновляем снятый с поддержки дистрибутив Ubuntu
  14. Linux - начинающим. Обновление Debian до следующего выпуска
  15. Осваиваем эффективную работу в Midnight Commander
  16. Linux - начинающим. Что такое пространства подкачки и как они работают
  17. Linux - начинающим. Screen - многозадачность в терминале и ни единого разрыва!
  18. Linux - начинающим. Как узнать температуру процессора и накопителей
  19. Linux - начинающим. Как получить информацию об оборудовании ПК
  20. Linux - начинающим. Установка и первоначальная настройка Debian 11 для сервера

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments