Имя хоста возвращается к старому названию после перезагрузки в 18.04 LTS

Это может быть связано с выполнением 18.04 LTS как виртуальная машина (Хост является DC Win 2016), но я не могу понять это как. Я попробовал каждый метод, я знаю об изменить имя хоста, но это всегда возвращается к имени хоста, которое я ввел, когда я создал машину на перезагрузке. Я попробовал следующее:

  1. имя хоста набора hostnamectl xxx.
  2. Редактирование имени хоста непосредственно.
  3. Добавление - статичный к hostnamectl.
  4. Редактирование файла hosts и добавление желаемого имени хоста.
  5. Поиск диска для ссылок на старое имя хоста перед перезагрузкой.
  6. Несколько других странных предложений я нашел в Интернете не стоящий упоминания.

У меня нет DNS для этого сервера в это время.

Пример:

XXXX@iwrxmail:~# hostnamectl
Static hostname: iwrxmail
Pretty hostname: Interwrx Ubuntu Mail Server
Transient hostname: ctl
     Icon name: computer-vm
       Chassis: vm
    Machine ID: 01ef0d836d2c4945b51a4fab8e506381
       Boot ID: e6608fe238d843f883cde52af7631a79
Virtualization: microsoft
Operating System: Ubuntu 18.04 LTS
        Kernel: Linux 4.15.0-20-generic
  Architecture: x86-64
XXXX@iwrxmail:~# hostnamectl set-hostname test
XXXX@iwrxmail:~# hostnamectl
Static hostname: test
     Icon name: computer-vm
       Chassis: vm
    Machine ID: 01ef0d836d2c4945b51a4fab8e506381
       Boot ID: e6608fe238d843f883cde52af7631a79
Virtualization: microsoft
Operating System: Ubuntu 18.04 LTS
        Kernel: Linux 4.15.0-20-generic
  Architecture: x86-64
root@iwrxmail:~# cat /etc/hostname
test
root@iwrxmail:~# cat /etc/hosts
127.0.0.1       localhost.localdomain   localhost
::1             localhost6.localdomain6 localhost6
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts 

However on reboot I get this again ....

XXXX@iwrxmail:~# hostnamectl
Static hostname: iwrxmail
     Icon name: computer-vm
       Chassis: vm
    Machine ID: 01ef0d836d2c4945b51a4fab8e506381
       Boot ID: 25a00676b22048eb8d43492c9de4f147
Virtualization: microsoft
Operating System: Ubuntu 18.04 LTS
        Kernel: Linux 4.15.0-20-generic
Architecture: x86-64

У меня была эта проблема с бетой 18,04, но я полагал, что буду ожидать копии выпуска. Я также полагал, что это могла бы быть проблема с фактом, я клонировал VMs, но это было совершенно новой версией, созданной с нуля со справедливым выпущенным дистрибутивом.

Что я пропускаю?

Заранее спасибо.

32
задан 18 June 2018 в 21:01

6 ответов

Если Вы не довольны отъездом более старой версии где-нибудь, то просто открывают файл в /var/lib/cloud/seed/nocloud-net/user-data и изменяют Ваше имя хоста в строке:

hostname: cm-lc-nc

Затем выполненный:

cloud-init clean
cloud-init init

Это затем установит /etc/hostname на новое значение и останется последовательным через перезагрузки. Это удалит все трассировки предыдущего имени хоста и если preserve_hostname или сбрасывается или игнорируется по некоторым причинам, Вы все еще не потеряете свое новое имя хоста.

0
ответ дан 23 November 2019 в 00:38

Сначала отредактируйте/etc/cloud/cloud.cfg и установите параметр "preserve_hostname" от "лжи" до "истинного" и затем отредактируйте/etc/hostname.

49
ответ дан 23 November 2019 в 00:38

Для "ленивых парней" как я, решение вставки копии :)

sudo sed -i '/preserve_hostname: false/c\preserve_hostname: true' /etc/cloud/cloud.cfg && sudo hostnamectl set-hostname ReplaceThisWithTheHostnamePreferred

Первая команда позволяет новому имени хоста помниться ОС.

Вторая часть (после &&) будет только работать, если первая часть закончилась успешно и установит имя хоста на требуемое значение.

С уважением! L

5
ответ дан 23 November 2019 в 00:38

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

apt remove cloud-init cloud-initramfs-copymods cloud-initramfs-dyn-netconf
0
ответ дан 23 November 2019 в 00:38

Имя хоста сбрасывается cloud-init который может или быть отключен следующим образом (после которого можно установить имя хоста нормальным способом, например, использованием hostnamectl):

sudo touch /etc/cloud/cloud-init.disabled

Или можно использовать облако-init и создать/изменить user-data файл (обычно находимый в: /var/lib/cloud/seed/nocloud-net/user-data) так, чтобы hostname: запись установлена на желаемое имя хоста (обеспеченный preserve_hostname: не установлен). Во-первых необходимо будет убрать существующую конфигурацию:

sudo cloud-init clean

И затем повторно инициализируйте облачную-init's конфигурацию из нового/измененного пользовательского файла данных:

sudo cloud-init init

Затем перезагрузка. Дополнительную информацию см. в облачных-init документах.

18
ответ дан 23 November 2019 в 00:38

1-Редактирований vi /etc/cloud/cloud.cfg и изменение

preserve_hostname: false

Кому:

preserve_hostname: true

Сохраните и выйдите.

2-Редактирований vi /etc/hostname и замените свое новое имя в этом файле, или можно сделать этот шаг с командой рева.

hostnamectl set-hostname NEWNAME

Наслаждайтесь им :)

4
ответ дан 23 November 2019 в 00:38

Другие вопросы по тегам:

Похожие вопросы: