Как изменить доменное имя linux

Обновлено: 03.07.2024

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

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

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

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

Второе ограничение - имя компьютера может содержать только буквы английского алфавита от a до z, цифры от 0 до 9, а также символы дефиса и точки. Начинаться и заканчиваться имя должно только буквой или цифрой, а не символом подчеркивания. Имя хоста регистронезависимо, поэтому COMPUTER и computer будут означать одно и то же. По длине стоит ограничение от 2 до 69 символов, но этого вполне достаточно.

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

Посмотреть текущее имя компьютера можно выполнив команду hostnamectl без параметров:


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

sudo hostname losst-pc

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

sudo vi /etc/hostname


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

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

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


Затем откройте второй файл:

sudo vi /etc/hosts

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


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

systemctl restart systemd-logind.service

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

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

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

sudo vi /etc/NetworkManager/NetworkManager.conf

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


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

Выводы

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

При установке Ubuntu на домашний ПК или ноутбук установщик попросит вас выбрать имя для вашего компьютера, так называемый «hostname». При заказе VPS/VDS в 99% он генерируется автоматически. Если вы чувствуете, что ваш сервер имеет нестандартное название в виде технического домена или набора каких-то непонятых символов, вы можете легко изменить имя хоста в Linux.

Есть два способа сделать это: с помощью графического интерфейса пользователя и через командную строку. Если вы заказали VPS/VDS и это не KVM, и у вас не установлен удаленный рабочий доступ, то у вас не будет возможности использовать графический интерфейс. Именно поэтому мы рассмотрим изменение hostname с помощью командной строки.

Что такое hostname в ОС Linux?

Имя хоста (hostname) является именем для "хозяина" компьютера в сети. Оно указывается только для компьютера и используется для его идентификации в сети.

Имя хоста выглядит так:

Как вы можете видеть выше, имя пользователя — root, в то время как имя хоста — hoster-ru-notes.

Это имя хоста должно однозначно идентифицировать компьютер в сети. Есть некоторые правила, установленные для имени хоста. Оно может содержать только буквы, цифры и символы дефиса. А также должно начинаться и заканчиваться буквой или цифрой и быть длиной от 2 до 63 символов.

Вы можете изменить имя хоста на то, которое вы хотите, но вы не должны использовать одно и то же имя хоста на двух разных компьютерах в сети, так как это может вызвать проблемы. (Правило актуально как для обычных ПК и офисных сетей, так и серверов/VPS).

Изменение hostname в Ubuntu (командная строка)

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

Откройте терминал. Для редактирования имени хоста необходимо изменить файл /etc/hostname. Его расположение одинаково во всех дистрибутивах Debian.

Выполните следующую команду:

Далее замените указанный в файле hostname на тот, что хотите вы.

Надеемся, что эта статья помогла вам разобраться, как изменить имя хоста в Ubuntu.

Как изменить имя хоста в Debian 9 Linux

Это руководство проведет вас через шаги, необходимые для изменения имени хоста в вашей системе Debian 9.

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


Прежде чем продолжить

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .


Показать текущее имя хоста

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




Как вы можете видеть на изображении выше, текущее имя хоста установлено на host .

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

Имя хоста - это метка, которая идентифицирует машину в сети и должна быть уникальной в рамках сетевой инфраструктуры. В FQDN качестве имени хоста системы рекомендуется использовать полное доменное имя ( ).

Следующие шаги описывают, как изменить имя хоста в Debian 9.

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

В Debian 9 для изменения имени хоста системы и связанных настроек вы можете использовать hostnamectl команду.


Команда hostnamectl не производит вывода. В случае успеха возвращается 0, в противном случае - ненулевой код ошибки.

Отредактируйте /etc/hosts файл.

Откройте /etc/hosts файл и замените свое старое имя хоста новым.


Проверить изменение

Чтобы убедиться, что имя хоста было успешно изменено, еще раз используйте hostnamectl команду:

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


Заключение

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

В версиях Debian с установленным systemd, можно использовать команду "hostnamectl set-hostname mymachine". Этот инструмент зависит от dbus поэтому обязательно установите его в первую очередь.

Специфические приложения

avahi

Avahi использует так называемые публикации (объявления) локальным службам. Если вы изменяли файлы /etc/avahi/* вы должны выполнить:

CUPS это Common Unix Printing System.

Нужно настроить файл /etc/printcap.

Вы должны поменять hostname в любой такой линии: Kyocera_TASKalfa_3050ci|Kyocera TASKalfa 3050ci:rm=debian:rp=Kyocera_TASKalfa_3050ci:

Вы должны перезапустить службу, чтобы изменения вступили в силу.

ejabberd

Перенастроить Exim (это затронет /etc/exim4/update-exim4.conf.conf и /etc/mailname):

Или настроить вручную /etc/exim4/update-exim4.conf.conf (hostname=). После этого надо перезапустить службу.

Mailname

Перенастроить Exim (см. выше) или настроить вручную /etc/mailname. После этого не надо перезапускать службу.

Настроить /etc/motd. После этого не надо перезапускать службу.

OpenSSH

Настроить /etc/ssh/ssh_host_rsa_key.pub, /etc/ssh/ssh_host_dsa_key.pub, /etc/ssh/ssh_host_ed25519_key.pub и /etc/ssh/ssh_host_ecdsa_key.pub (root@hostname в конце). После этого надо перезапустить службу.

Самоподписанный SSL сертификат

Пересоздать самоподписанный сертификат, созданный пакетом the ssl-cert используя правильный hostname вашего компьютера.

После этого надо перезапустить службу использующие это, например apache2.

ssmtp

Легковесная программа Ssmtp, для отправки только через SMTP.

Настроить /etc/ssmtp/ssmtp.conf (hostname=, и т. д.). После этого не надо перезапускать службу.

sysklogd

Перезапустите службу sysklogd.

fail2ban

fail2ban scan logs to detect connection failures and can ban IP on too many failures.

The hostname may be in the sender mail address in /etc/fail2ban/jail.local. You need to reload the service.

Logical Volume Manager (LVM) is a device mapper target that provides logical volume management.

Hostname появляется в резервной копии конфигурационного файла /etc/lvm/backup/<your Volume Group>.

Скрипт, который может вам помочь

Опасный скрипт

Вы должны понимать, что данный скрипт может быть опасен для вашей системы. Вы должны проверить наличие всех файлов grep -rl "$old" /etc, которые должны быть модифицированы перед запуском этого скрипта:

Улучшенный вариант скрипта

Этот скрипт будет делать тоже самое, что и скрипт выше, но он будет спрашивать о каждом файле, который надо изменить, прежде чем он отредактирует файл.

linux-logo

В этой статье я вам расскажу как изменить hostname в Debian/Ubuntu (обычно имя компьютера в сети).

Существуют два способа изменения имени компьютера в Debian/Ubuntu:

  1. Многократное изменение имени.
  2. Однократное изменения имени hostname.

Итак, начнем. Для того, чтобы узнать hostname нашего ПК Linux, вводим команду:

В ответ получаем что то типа этого.

Многократное изменение имени

Для того, чтобы изменить имя компьютера, нужно ввести команду:

где, new_name — новое имя хоста

Ну вот и изменили до следующей сессии

Однократное изменение имени

Теперь приступим к наиболее сложному варианту.

Итак, рассмотрим что нужно для того чтобы однократно изменить имя компьютера в Debian/Ubuntu и больше не возвращаться к этому вопросу. Системы, основанные на Debian, при загрузке читают файл /etc/hostname, чтобы установить имя компьютера. После чего, прочитанное имя устанавливается во время работы init-скрипта /etc/init.d/hostname.sh в некоторых версиях /etc/init.d/hostname.

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

В ответ на это мы получим текущее имя компьютера.

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

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

Если вас смущают эти команды, тогда можно просто перезагрузить ПК и у вас уже будет измененное hostname.

Пока не забыл! В системе имеется также файл /etc/hosts. Откроем его на редактирование:

В этом файле нам необходимо прописать как имя компьютера (hostname), так и FQDN (доменное имя). Вот пример моего файла:

Также может потребоваться переподнять сеть:

Ну, вот и всё готово!

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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