Hostname linux несколько имен

Обновлено: 04.07.2024

Имя хоста — это уникальная метка, которая идентифицирует машину в сети.

Должна существовать таблица соответствия между hostname и IP адресом это нужно для для маршрутизации пакетов.

Хост может иметь несколько имён, но предпочтительным является вариант, когда имя одно.

Существует три класса hostname : static , pretty и transient .

Так как CentOS 7 поддреживает только Fully Qualified Domain Names (FQDNs), советую тщательно проверить hostname, который вы планируете использовать.

  • Строчные буквы от a до z
  • Цифры от 0 до 9
  • Точки и дефисы
  • Hostnames может быть от 2 до 63 символов
  • Hostnames должен начинаться и заканчиваться цифрой или буквой

Узнать имя своего хоста

Существует несоколько способов узнать имя своего хоста.

Часто для этого достаточно просто посмотреть в терминал

Пример моего терминала

[andrei@ localhost Downloads]$

andrei - это имя пользователя

localhost - это имя хоста

Downloads - имя текущей директории

Посмотреть порядок можно выполнив

W - Working Directory - Рабочая диретория

Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 35e254eda578c54084b96e06d5f285cf Boot ID: afb44fef8d764f30bb89550849b02fde Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.36.2.el7.x86_64

Изменить имя хоста

С помощью команды hostname

hostname dns-server
hostname

Если заново открыть терминал изменения будут видны в командной строке.

Это имя хоста сохранится только до перезагрузки системы

Если выполнить hostnamectl видно, что помянелось только динамическое имя хоста

Если изучить файл hostname , также можно увдиеть отсутствие изменений.

С помощью hostnamectl

Это постоянное изменение. Т.е. новое имя хоста имеет класс persistent.

pretty name

Чтобы задать pretty name нужно воспользоваться кавычками

Появилось pretty hostname а static hostname такое же , но без запрещенных символов

hosts

Изучить информацию об именах других хостов можно в файле hosts

В моём примере в сети есть два хоста:

Зайдём на него с помощью ssh и посмотрим, есть ли у него записи об именах других хостов в сети.

Для наглядности я теперь буду показываеть приглашение терминала чтобы было видно имя хоста.

Выполним ping по IP

PING 192.168.56.149 (192.168.56.149) 56(84) bytes of data. 64 bytes from 192.168.56.149: icmp_seq=1 ttl=64 time=0.650 ms 64 bytes from 192.168.56.149: icmp_seq=2 ttl=64 time=0.731 ms ^C --- 192.168.56.149 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 0.650/0.690/0.731/0.048 ms

По IP пингуется успешно

И ping по hostname

Это неудивительно - ведь в файле hosts нет про него никаких записей. Проверим содержимое:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

Теперь всё работает

alias

Чтобы не писать длинные имена хостов можно придумать alias

FQDN - Fully Qualified Domain Name - полностью определённое имя домена.

Хоть пинг и был по алиасу, ответ идёт как от static fqdn

В таком случае ответ будет идти от vbdns

PING vbdns (192.168.56.149) 56(84) bytes of data. 64 bytes from vbdns (192.168.56.149): icmp_seq=1 ttl=64 time=0.721 ms 64 bytes from vbdns (192.168.56.149): icmp_seq=2 ttl=64 time=1.01 ms ^C --- vbdns ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1004ms rtt min/avg/max/mdev = 0.721/0.866/1.012/0.148 ms


Hostname (имя компьютера, имя хоста) задается во время установки системы Linux. Hostname определяет название компьютера и используется преимущественно для идентификации компьютера в сети. Нельзя назначать два одинаковых Hostname для компьютеров в одной сети.

Просмотр текущего Hostname

Чтобы показать текущий Hostname можно использовать команду hostname без параметров:

Также Hostname можно отобразить командой hostnamectl :

Как изменить Hostname

Рассмотрим, как изменить Hostname двумя разными способами.

Способ 1. Используем команду hostnamectl

Во многих systemd-based дистрибутивах (например, в Ubuntu Linux) есть утилита hostnamectl .

Воспользуемся командой hostnamectl , чтобы установить новое значение Hostname равным pingvinus . Используется аргумент set-hostname:

Способ 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. Рассмотрим примеры на CentOS и Ubuntu без необходимости перезагружать систему.

Узнать текущее имя компьютера можно командой:

Способ 1. Файл hostname

Открываем файл с именем компьютера следующей командой

и пишем имя компьютера, например:

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

hostname `cat /etc/hostname`

Перезапускаем сетевую службу.

CentOS / Red Hat / Fedora:

systemctl restart network

service network restart

Ubuntu / Debian:

systemctl restart networking

service networking restart

Способ 2. Команда hostnamectl

В новых системах на основе systemd (CentOS 7, Ubuntu 15.04 и выше) можно выполнить одну единственную команду:

hostnamectl set-hostname hostname

* перезагрузка не потребуется — новое имя начнет использоваться сразу.

Если, по каким-либо причинам, новое имя не начнет использоваться, вводим:

systemctl restart systemd-hostnamed

Подробнее, статус можно посмотреть командой:

Также, можно задать дополнительное для описания имя (прелестное):

Имя компьютера или по-другому, имя хоста устанавливается во время установки системы. Оно используется для идентификации компьютера в локальной сети, например, передается службой NetBIOS как имя сервера Samba, а также вы будете постоянно видеть его в терминале перед приглашением ввода команды.

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

Требования к имени компьютера

Как изменить имя компьютера

Изменить имя хоста Ubuntu можно несколькими способами. Самый простой способ установить имя компьютера, которое сохранится только до перезагрузки можно использовать команду hostname, которой в параметре нужно передать новое имя. Например:

sudo hostname user-pc

Но после перезагрузки все вернется как было раньше. Чтобы сделать изменения постоянными нужно изменить содержимое двух файлов. /etc/hostname и /etc/hosts:

sudo vi /etc/hostname

Удалите старое имя из этого файла и пропишите новое. Затем откройте второй файл:

sudo vi /etc/hosts

Здесь немного сложнее, найдите строку:

И замените старое имя на новое, после этого необходимо перезагрузить компьютер. Если вы не хотите перезагружать систему, то вы можете просто перезагрузить сервис управления входом пользователей:

systemctl restart systemd-logind.service

Теперь все должно работать правильно. Но это не единственный способ сменить имя хоста в Ubuntu.

В современных версиях Ubuntu вы можете использовать команду hostnamectl, в отличие от первого варианта изменения сохранятся после перезагрузки:

sudo hostnamectl set-hostname новое_имя

После этого тоже все должно быть правильно.

Не меняется имя компьютера

Если вы поменяли имя компьютера, а после перезагрузки восстанавливается все как было, например, какое-то там dhcpcd0-pc, то, скорее всего, виноват NetworkManager. Здесь решение либо удалить эту программу, либо изменить имя хоста Ubuntu с помощью NetworkManager. Для этого выполните:

sudo vi /etc/NetworkManager/NetworkManager.conf

И добавьте в файл такие строки:

Теперь после перезагрузки NetworkManager поменяет имя хоста ubuntu на правильное и больше проблем с этим не будет.

Выводы

Вот и все, теперь вы знаете как сменить имя компьютера ubuntu. Для этого есть вполне достаточно способов, чтобы вы могли выбрать именно то, что нужно. Если у вас остались вопросы, спрашивайте в комментариях!

Примеры команд Linux «hostname»

Изучение

Команда «hostname» в Linux используется для проверки системного имени, присвоенного машине Linux. Однако эту команду также можно сочетать с другими разными флагами для получения разных выходных данных. В этой статье мы попытаемся осветить некоторые примеры использования команды hostname в Linux.

Общий синтаксис команды «hostname»

Общий синтаксис команды hostname в Linux показан ниже:

Здесь вы можете заменить «параметр» любыми флагами или параметрами, используемыми с командой «hostname». Некоторые из этих флагов или параметров также описаны в примерах ниже. Однако, если вы хотите выполнить простую команду «hostname», вы также можете сделать это без указания каких-либо параметров.

Примеры команды Linux «hostname»

Чтобы узнать, как использовать команду hostname в Linux, вы можете просмотреть следующие примеры:

Пример № 1: проверьте имя хоста вашей системы Linux

Эта команда чаще всего используется для проверки имени хоста вашей системы Linux, выполняя ее так, как показано ниже:

Имя хоста нашей системы Linux показано на следующем изображении:

Имя хоста нашей системы Linux показано на следующем изображении

Пример № 2: Сравните IP-адрес с именем хоста вашей системы Linux

Вы также можете проверить IP-адрес, назначенный вашему компьютеру Linux, по его имени хоста, используя команду «hostname» с параметром «-i» следующим образом:

IP-адрес по имени хоста нашей системы Linux показан на изображении ниже:

IP-адрес по имени хоста нашей системы Linux показан на изображении ниже

Пример № 3: Проверьте полное доменное имя вашей системы Linux

Если вы хотите проверить полное доменное имя вашей системы Linux. Вы можете использовать флаг «-f» с командой «hostname» следующим образом:

Полное доменное имя нашей системы Linux показано на изображении ниже:

Полное доменное имя нашей системы Linux показано на изображении ниже

Пример № 4: Проверьте псевдоним имени хоста вашей системы Linux

Иногда пользователи также устанавливают псевдонимы для имен хостов своих систем. Если вы хотите сравнить псевдоним с именем хоста вашей системы (если он существует), вы можете использовать параметр «-a» с командой «hostname» следующим образом:

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

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

Если в вашем имени хоста есть точка, то короткое имя хоста относится к части вашего имени хоста перед этой точкой. Вы можете отобразить короткое имя хоста вашей системы Linux, используя флаг «-s» с командой «hostname» следующим образом:

Поскольку у нас не было точки в имени хоста нашей системы. Поэтому короткое имя хоста нашей системы Linux совпадает с нашим фактическим именем хоста. Которое показано на изображении ниже:

Поскольку у нас не было точки в имени хоста нашей системы

Если вы хотите изменить имя хоста вашей системы Linux, вы также можете сделать это, используя команду «hostname» следующим образом:

Здесь вам нужно будет заменить NewHostName любым желаемым новым именем хоста. Которое вы хотите настроить для своей системы Linux. Эта команда не будет выводить на терминал какие-либо данные после успешного выполнения.

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

Из вывода вышеупомянутой команды совершенно очевидно, что наше имя хоста было успешно изменено, как показано на следующем изображении:

Из вывода вышеупомянутой команды совершенно очевидно

Заключение

В этой статье мы обсудили шесть различных примеров использования команды hostname в Linux. Чтобы узнать больше об использовании этой команды в Linux, вы можете запустить команду hostname —help в терминале вашей системы.

Наличие одного и того же имени хоста для всех систем значительно усложнит задачу администрирования и обслуживания системы и самой сети.
Имя хоста в любом дистрибутиве на основе Linux используется для уникальной идентификации системы в сети. Имя хоста по умолчанию, которое задается во время установки, - localhost. В случае нескольких облачных сервисов имя хоста по умолчанию устанавливается в соответствии с их предпочтениями и не всегда является localhost.
Установленное приложение использует имя хоста в качестве идентификатора по умолчанию при взаимодействии с другими системами.
Поэтому, чтобы без проблем связываться с любыми другими системами в сети, всегда полезно изменить это. В этой статье мы рассмотрим, как изменить имя хоста в Ubuntu 20.04 LTS.

Изменить имя хоста в Ubuntu с помощью hostnamectl

Помните, что для всех методов, которые мы собираемся показать, вам необходимо использовать SSH для доступа к вашему серверу Linux. Вот руководство на случай, если вам понадобится небольшая помощь.
Самый простой способ изменить имя хоста - использовать команду hostnamectl. Команда входит в состав утилит systemd и устанавливается по умолчанию. Если по какой-то причине его нет в вашей системе, используйте следующую команду apt-get для его установки:
Теперь команда hostnamectl будет доступна, если раньше ее не было. Введите hostnamectl в командной строке терминала, чтобы просмотреть системную информацию, включая имя хоста. Вот команда:
Вот результат, который вы получите:
В выходных данных приведенной выше команды постоянное имя хоста отображается как статическое имя хоста. Чтобы навсегда изменить имя хоста системы, просто используйте следующую команду hostnamectl:
Вышеупомянутая команда не производит вывода. Чтобы проверить новое имя хоста, введите hostnamectl в терминале без каких-либо опций или параметров:

Изменить имя хоста в Ubuntu с помощью имени хоста

Команда hostname используется для отображения или установки имени хоста системы и имени домена. Базовый синтаксис команды:
Чтобы просмотреть текущие настройки вашей системы, используйте имя хоста без каких-либо опций и аргументов:
Чтобы изменить имя хоста, просто используйте команду hostname без каких-либо параметров, введя новое имя хоста в качестве единственного аргумента.
Чтобы проверить, правильно ли задано имя хоста, просто используйте простую команду hostname.
Помните, что изменения в имени хоста временные. Если вы перезагрузите систему, имя хоста будет возвращено к старому.
Команда hostname полезна в ситуации, когда у вас есть небольшая задача, требующая временных изменений, но вы не хотите вносить постоянные изменения.

Изменить имя хоста в Ubuntu вручную

Имя хоста можно изменить, напрямую отредактировав несколько файлов конфигурации. Вам просто нужно обновить имя хоста в двух файлах конфигурации - /etc/hostname и /etc/hosts .
Для начала отредактируйте файл /etc/hostname и обновите запись новым именем хоста:
Затем обновите запись имени хоста новой записью в файле /etc/hosts, чтобы система разрешила новое имя хоста в сети.
На этом этапе вы закончили обновление записей в необходимых файлах конфигурации. Но вы все еще в шаге от применения вышеуказанных изменений.
На последнем этапе вам нужно отредактировать файл конфигурации облака. Этот пакет облачной инициализации устанавливается из образов по умолчанию, предоставленных несколькими поставщиками облачных услуг для инициализации экземпляра облака.
Чтобы завершить формальности, отредактируйте файл конфигурации облака и измените значение preserve_hostname на true .


Если указанный выше файл облачной конфигурации отсутствует в вашей системе, не беспокойтесь, вы можете пропустить этот шаг.
Перезагрузите систему и откройте сеанс терминала. Чтобы убедиться, что имя хоста действительно сохранилось во время перезагрузки, просто введите в терминале следующую команду:

Читайте также: