- Записки IT специалиста
- Linux — начинающим. Настраиваем имя хоста при помощи hostnamectl
- Дополнительные материалы:
- Как изменить Hostname (имя компьютера)
- Просмотр текущего Hostname
- Как изменить Hostname
- Способ 1. Используем команду hostnamectl
- Способ 2. Редактируем файлы /etc/hostname и /etc/hosts
- Проверка результата
- Как временно изменить Hostname
- Как изменить имя компьютера в Linux
- Смена имени через команду и файл hostname
- Смена имени через sysctl
- Смена имени через hostnamectl
Записки 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 для сервера
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Как изменить Hostname (имя компьютера)
Hostname (имя компьютера, имя хоста) задается во время установки системы Linux. Hostname определяет название компьютера и используется преимущественно для идентификации компьютера в сети. Нельзя назначать два одинаковых Hostname для компьютеров в одной сети.
Просмотр текущего Hostname
Чтобы показать текущий Hostname можно использовать команду hostname без параметров:
Также Hostname можно отобразить командой hostnamectl :
Как изменить Hostname
Рассмотрим, как изменить Hostname двумя разными способами.
Способ 1. Используем команду hostnamectl
Во многих systemd-based дистрибутивах (например, в Ubuntu Linux) есть утилита hostnamectl .
Воспользуемся командой hostnamectl , чтобы установить новое значение Hostname равным pingvinus . Используется аргумент set-hostname:
sudo hostnamectl set-hostname pingvinus
Способ 2. Редактируем файлы /etc/hostname и /etc/hosts
Еще один способ изменения Hostname — это ручное редактирование файла /etc/hostname и файла /etc/hosts .
Сначала выполните команду (вместо pingvinus укажите свое значение):
Отредактируем файл /etc/hostname для редактирования в редакторе nano, выполняем команду:
Измените текущее значение в файле на новое. Сохраните изменения и закройте файл. Это можно сделать, нажав Ctrl+C , затем Y и Enter .
Hostname прописывается также в файле /etc/hosts , поэтому нужно изменить его значение в этом файле. Откроем файл:
Найдите строку вида « 127.0.0.1 ваш_hostname » и впишите новое имя хоста. Сохраните изменения и закройте файл.
Проверка результата
Чтобы проверить, изменилось ли значение Hostname, откройте новое окно терминала и введите команду:
Как временно изменить Hostname
Чтобы изменить Hostname в текущей работающей системе Linux, но до первой перезагрузки, можно использовать просто команду hostname , указав ей новое значение имени хоста:
Как изменить имя компьютера в 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