Имя хоста продолжает возвращаться
Я борюсь со странной проблемой на виртуальной машине Ubuntu 14.04.1 LTS, работающей в Azure. Имя моего хоста продолжает возвращаться к чему-то, связанному с моим Развертыванием Azure. Короче говоря: системное имя хоста не равно cat /etc/hostname
в то время как /etc/hostname
а также /etc/hosts
остается неизменным.
Это мое /etc/hostname
dbc1mdb
И это мой /etc/hosts
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
10.0.1.6 dbc1mdb
10.0.1.7 dbc1sdb1
Я действительно выдергиваю свои волосы. Какие-либо предложения?
ОБНОВЛЕНИЕ: теперь я подозреваю, что клиент DHCP или агент Azure Linux связываются с именем хоста.
4 ответа
Думаю, я немного опоздал на вечеринку, но в Ubuntu пакеты Ubuntu Cloud, по-видимому, отвечают за это. Этот ответ все еще должен быть актуальным, поскольку он применим к 18.04 LTS.
Данные конфигурации для этих пакетов находятся в /var/lib/cloud/data
, /var/lib/cloud/data/set-hostname
файл в частности:
{
"fqdn": "<your fqdn>",
"hostname": "<your hostname>"
}
Насколько я могу судить, имя хоста задается сценариями конфигурации из этих пакетов во время загрузки.
Вероятно, это скрипт, работающий в фоновом режиме.
У вас есть 2 варианта:
1) Удалите все, что меняет ваше имя хоста.
2) Измените ваше имя хоста в /etc/hostname
и беги sudo chattr +i /etc/hostname
чтобы предотвратить его изменение.
У меня возникла та же проблема на сервере Ubuntu 22.04, который я установил из облачного образа. Для меня это был cloud-init, который постоянно сбрасывал имя хоста, потому что я установил имя хоста при создании файла конфигурации cloud-init для установки виртуальной машины.
В конце концов, все, что мне нужно было сделать, это отключить запуск cloud-init, создав пустой файл в определенном месте:
sudo touch /etc/cloud/cloud-init.disabled
Я могу это сделать, потому что я настроил своего собственного гостя на своем собственном хосте KVM. Если кто-то использует облачного провайдера, это может быть нежизнеспособным решением для вас, так как вам может понадобиться cloud-init, чтобы продолжать выполнять эти шаги запуска.
Раньше я понятия не имел, что cloud-init не просто запускается при первой настройке, пока не прочитает этот другой пост Ask Ubuntu, но впоследствии запустит другой набор шагов. Для получения дополнительной информации см. документацию по этапу загрузки cloud-init .
Прошел по тому же сценарию и выпустить. Удаление пакетов cloud-init, cloud-init-utils и walinuxagent устранило проблему.
sudo apt-get remove cloud-init
sudo apt-get remove cloud-init-utils
sudo apt-get remove walinuxagent
Указанные выше имена пакетов могут быть неточными, и может потребоваться удаление зависимых пакетов и / или конфигураций. YMMV.