Я арендую сервер под управлением Ubuntu 16.04 в компании, назовем его company.org.
В настоящее время мой сервер настроен так:
- Имя хоста:
server737263
- доменное имя:
company.org
Вот мое полное доменное имя:
user@server737263:~ $ hostname --fqdn
server737263.company.org
Это не удивительно.
Я также арендую доменное имя, давайте назовем его domain.org
. Я хотел бы переименовать мой сервер в server1.domain.org
.
Это означает настройку моего имени хоста как server1
и моего имени домена как domain.org
.
Как я могу сделать это правильно?
Действительно, справочная страница для hostname
не ясна. Для меня по крайней мере:
HOSTNAME (1)
[...]
ИМЯ НАБОРА
- При вызове с одним аргументом или с параметром --file команды задают имя хоста или имя домена NIS / YP. hostname использует функцию sethostname (2), в то время как все три доменных имени, ypdomainname и nisdomainname используют setdomainname (2). Обратите внимание, что это действует только до следующей перезагрузки. Отредактируйте / etc / hostname для постоянного изменения.
[...]
Полное доменное имя
- Вы не можете изменить полное доменное имя с именем хоста или dnsdomainname.
[...]
Так что кажется, что редактирования /etc/hostname
недостаточно? Потому что если бы он действительно изменил имя хоста, он изменил бы полное доменное имя. Я также прочитал трюк, чтобы изменить имя хоста с помощью команды sysctl kernel.hostname=server1
, но ничто не говорит о том, правильный ли это путь или уродливый трюк.
Так:
Как правильно установить имя хоста?
Как правильно установить доменное имя?
DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
на моем сервере (та же версия)./etc/resolvconf/resolv.conf.d/head
. Все в заголовочном файле добавляется к результирующему/etc/resolv.conf
выходному файлу, поэтому здесь есть предупреждение, которое отображается в конечном результате. Сначала бросил меня за петлю./etc/resolvconf/resolv.conf.d/head
нет и такой утилиты нетresolvconf
.hostnamectl
sudo nano /etc/cloud/cloud.cfg
обновитеpreserve_hostname: true
(по умолчаниюfalse
).sudo nano / etc / hostname
sudo nano / etc / hosts
ПЕРЕЗАГРУЖАТЬ!
ДОЛЖНО ИМЕТЬ ОДИН ХОЗЯЙМ после полного доменного имени в файле / etc / hosts. Прекрасно работает на Ubuntu 18.04.1 и всех других версиях. На EC2 и в других местах.
Не связывался с файлом разрешения или чем-то еще.
Это показывает имя хоста в оболочке, а затем имеет полное доменное имя, когда вам это нужно.
источник
$ man hostname
На это любезно указал Пойдж в другой ветке, и именно это предложил Лутц здесь.
Вы не должны помещать свой fqdn в
/etc/hostname
.источник
Инструкция написана против Ubuntu 18.04.3 LTS (бионическая)
Изменить имя хоста:
Проверьте результат, запустив
hostnamectl
:Измените домен через нового сетевого менеджера Netplan , отредактировав
/etc/netplan/01-netcfg.yaml
и изменивsearch
параметр:Пример конфигурации:
Протестируйте изменения, войдя во второй раз, запустив
sudo netplan try
один из сеансов и проверив настройки в другом:Все хорошо, нажмите ENTER в ответ на
sudo netplan try
приглашение, чтобы сделать вещи постоянными.источник
Я попытался изменить запись в моем домене с того,
myhome.local
чтоmyhome.lan
мне пришлось отредактировать/etc/hosts
файл и/etc/network/interfaces
файл. Мой/etc/hosts
файл теперь выглядит так:и мой
/etc/network/interfaces
файл теперь выглядит так:Он отлично работает для меня.
источник