Як позбутися хмари-ініта?


20

Я використовую зображення Ubuntu 14.04 в якості базового вікна для бродячого. На жаль, це базове поле містить хмару-ініт, яка викликає багато проблем під час запуску машини: https://github.com/mitchellh/vagrant/isissue/3860

Я не використовую свою машину в хмарі, тому мені це дуже не потрібно. Я хоч і набрав:

sudo apt-get remove cloud-init

вирішить мої проблеми, але машина все ще витрачає близько 3 хвилин на запуск, намагаючись налаштувати щось, що мені не потрібно.

Я можу бачити , що є аа число хмарних ініціалізації пов'язаних файлів в /etc/init(наприклад cloud-init.conf, cloud-final.conf, і cloud-config.confт.д.). Я міг би їх видалити, але я не впевнений, чи безпечно це.

Я також встановив, rcconfщоб перевірити всі сценарії перестановки, але я не можу знайти нічого, пов’язаного з хмарою-init там. Будь-які ідеї?

Відповіді:


12

Згідно з документами cloud-init спосіб її відключення:

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

І / або встановити cloud-init=disabledв командному рядку ядра, якщо це включено таким чином.


Зверніть увагу, що це не видаляє. Він все ще є, але він перестане намагатися налаштувати речі на дуже ранній стадії. Дивіться cloudinit.readthedocs.io/en/latest/topics/boot.html
Людовик Куті

Звичайно, тому я сказав, що це відключить .
П'єрз

1
Так, ти правий. Мій коментар марний.
Людович Куті

6

14.04 ви можете використовувати dpkg-конфігурацію для відключення хмари-init наступним чином:

echo 'datasource_list: [ None ]' | sudo -s tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg
sudo dpkg-reconfigure -f noninteractive cloud-init

або просто використовувати, sudo dpkg-reconfigure cloud-initщоб це зробити інтерактивно.


6

Це працювало для мене в Ubuntu Server 18.04.1 LST

  1. $ echo 'datasource_list: [ None ]' | sudo -s tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg

  2. $ sudo apt-get purge cloud-init

  3. $ sudo rm -rf /etc/cloud/; sudo rm -rf /var/lib/cloud/

  4. $ reboot

Щасти.


1
Дійсно? Changig файл, який ви видалите через два кроки? Здається, ви можете пропустити перший крок.
Енно Ґрьопер

2

Cloud Init є для налаштування мережі та її можна зупинити на різних етапах. В останніх версіях ви можете відключити Cloud Init на першому етапі, переконавшись, що існує такий файл:

/etc/cloud/cloud-init.disabled

або на більш пізньому етапі, переконавшись, що файл /etc/cloud/cloud.cfg.d/99-disable-network-config.cfgіснує із таким вмістом:

network: {config: disabled}

Ви можете використовувати цю команду для неї:

$ sudo echo "network: {config: disabled}" > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Цю інформацію можна знайти в коментарях до заголовків /etc/netplan/50-cloud-init.yaml, які частково звучать так:

# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}

Це з файлу в Ubuntu 18.04 LTS і, ймовірно, також може бути дійсним для наступних версій.


IMHO, він лише відключає частину конфігурації мережі. Таким чином, цього недостатньо.
Людович Куті

@LudovicKuty Який саме хмарний ініт потрібно робити: налаштовувати речі. Таким чином, якщо ви змусили його перестати намагатися налаштувати речі, ви досягли своєї мети, і цього достатньо, щоб вона залишалася поза вашою дорогою. Якщо ви наполягаєте, що це не так, то, будь ласка, поясніть, що саме було б "достатньо".
code_dredd

Можливо, він все ще намагається налаштувати інший матеріал, крім мереж. ІМХО ОП хотіла його повністю відключити. Зауважте, що ця деталізація може бути цікавою і в інших випадках.
Людович Куті

@LudovicKuty Ваші коментарі сприймаються як спекулятивні ("IMHO", "це може ..." тощо). Якщо ви не зможете показати, що документація невірна і що вона продовжує намагатися, після того, як їй сказали, що не робити, я не думаю, що в цьому є набагато більше, і в цьому випадку вам краще буде повідомити про помилку. . Цього було достатньо кожного разу, коли я робив це на своїх серверах.
code_dredd

Перейдіть на перевірку cloudinit.readthedocs.io/en/latest/topics/boot.html vs cloudinit.readthedocs.io/en/latest/topics/network-config.html . Ви критикуєте мої "ІМХО" та "Можливо", і ви пишете "правильний спосіб відключити Cloud Init - це за допомогою цієї команди", але ви повинні додати "ІМХО", оскільки це не правильний спосіб зробити це.
Людович Куті
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.