Изменение имени хоста без перезапуска через cloud-init работает неправильно

Я следовал этой теме во время написания своего скрипта cloud-init.

Я проверил, и у меня есть это в одной части моего скрипта boothook:

echo "HOSTNAME=$HOSTNAME" >> /etc/environment
echo "127.0.1.1 $HOSTNAME" >> /etc/hosts
echo "$HOSTNAME" > /etc/hostname
echo "$HOSTNAME" > /proc/sys/kernel/hostname
hostnamectl set-hostname $HOSTNAME

При первом входе в систему:

$ echo $HOSTNAME
aaa.bbbb.domain.org

$ cat /etc/hosts
127.0.1.1  aaa.bbbb.domain.org

$ cat /etc/environment
HOSTNAME=aaa.bbbb.domain.org

Но по какой-то причине я не могу понять:

$ cat /etc/hostname
aaa

$ cat /proc/sys/kernel/hostname
aaa

$ hostname
aaa

Не уверен почему! Есть какие-нибудь подсказки?

2 ответа

Я на самом деле обнаружил, после долгих экспериментов и исследований, что то, что я вижу, - это предполагаемое поведение, хотя оно отличается от того, к чему я привык в системах CentOS/RHEL.

Подводя итог это здесь:

В руководстве по развертыванию CentOS & RHEL говорится, что имя хоста должно быть полным доменным именем; Debian указывает, что имя хоста НЕ должно быть полным доменным именем.

Ядро поддерживает имя хоста системы. Этот файл должен содержать только системное имя хоста, а не полное доменное имя.

У меня все в порядке с этим (конечно, делает подсказки короче!) Я просто хотел убедиться, что я не делал что-то не так.

Вы должны отредактировать /etc/hosts и добавьте имя хоста вот так:

127.0.0.1    aaa.bbbb.domain.org aaa.bbbb
Другие вопросы по тегам