Hostname linux несколько имен
Имя хоста — это уникальная метка, которая идентифицирует машину в сети.
Должна существовать таблица соответствия между 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. Для этого есть вполне достаточно способов, чтобы вы могли выбрать именно то, что нужно. Если у вас остались вопросы, спрашивайте в комментариях!
Команда «hostname» в Linux используется для проверки системного имени, присвоенного машине Linux. Однако эту команду также можно сочетать с другими разными флагами для получения разных выходных данных. В этой статье мы попытаемся осветить некоторые примеры использования команды hostname в Linux.
Общий синтаксис команды «hostname»
Общий синтаксис команды hostname в Linux показан ниже:
Здесь вы можете заменить «параметр» любыми флагами или параметрами, используемыми с командой «hostname». Некоторые из этих флагов или параметров также описаны в примерах ниже. Однако, если вы хотите выполнить простую команду «hostname», вы также можете сделать это без указания каких-либо параметров.
Примеры команды Linux «hostname»
Чтобы узнать, как использовать команду hostname в Linux, вы можете просмотреть следующие примеры:
Пример № 1: проверьте имя хоста вашей системы Linux
Эта команда чаще всего используется для проверки имени хоста вашей системы Linux, выполняя ее так, как показано ниже:
Имя хоста нашей системы Linux показано на следующем изображении:
Пример № 2: Сравните IP-адрес с именем хоста вашей системы Linux
Вы также можете проверить IP-адрес, назначенный вашему компьютеру Linux, по его имени хоста, используя команду «hostname» с параметром «-i» следующим образом:
IP-адрес по имени хоста нашей системы Linux показан на изображении ниже:
Пример № 3: Проверьте полное доменное имя вашей системы Linux
Если вы хотите проверить полное доменное имя вашей системы Linux. Вы можете использовать флаг «-f» с командой «hostname» следующим образом:
Полное доменное имя нашей системы 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 .
Если указанный выше файл облачной конфигурации отсутствует в вашей системе, не беспокойтесь, вы можете пропустить этот шаг.
Перезагрузите систему и откройте сеанс терминала. Чтобы убедиться, что имя хоста действительно сохранилось во время перезагрузки, просто введите в терминале следующую команду:
Читайте также: