Bagaimana cara menyingkirkan cloud-init?

20

Saya menggunakan gambar Ubuntu 14.04 sebagai kotak dasar saya untuk gelandangan. Sayangnya kotak dasar ini mengandung cloud-init yang menyebabkan banyak masalah saat memulai mesin: https://github.com/mitchellh/vagrant/issues/3860

Saya tidak menggunakan mesin saya di cloud jadi saya tidak benar-benar membutuhkan ini. Saya mengetik:

sudo apt-get remove cloud-init

akan menyelesaikan masalah saya tetapi mesin masih menghabiskan sekitar 3 menit pada startup mencoba mengkonfigurasi sesuatu yang tidak saya butuhkan.

Aku bisa melihat ada aa jumlah awan-init file terkait di /etc/init(misalnya cloud-init.conf, cloud-final.conf, cloud-config.confdll). Saya bisa menghapusnya tetapi saya tidak yakin apakah ini aman.

Saya juga telah menginstal rcconfuntuk memeriksa semua skrip starup tetapi saya tidak dapat menemukan apa pun yang terkait dengan cloud-init di sana. Ada ide?

mnowotka
sumber

Jawaban:

12

Menurut cloud-init docs cara untuk menonaktifkannya adalah:

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

Dan / atau atur cloud-init=disableddi baris perintah kernel jika diaktifkan seperti itu.

Pierz
sumber
Perhatikan bahwa itu tidak menghapusnya. Masih ada tetapi akan berhenti mencoba mengkonfigurasi hal-hal pada tahap yang sangat awal. Lihat cloudinit.readthedocs.io/en/latest/topics/boot.html
Ludovic Kuty
Tentu itu sebabnya saya mengatakan akan menonaktifkannya .
Pierz
1
Ya kamu benar. Komentar saya tidak berguna.
Ludovic Kuty
6

Pada 14,04 Anda dapat menggunakan dpkg-mengkonfigurasi ulang untuk menonaktifkan cloud-init dengan cara berikut:

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

atau hanya gunakan sudo dpkg-reconfigure cloud-inituntuk melakukannya secara interaktif.

m1keil
sumber
6

Ini bekerja untuk saya di 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

Semoga berhasil.

Lion Gates
sumber
1
Sangat? Mengubah file yang Anda hapus dua langkah kemudian? Sepertinya Anda dapat melewati langkah pertama.
Enno Gröper
2

Cloud Init ada untuk mengonfigurasi jaringan dan dapat dihentikan pada berbagai tahap. Dalam versi terbaru, Anda dapat menonaktifkan Cloud Init pada tahap pertama dengan memastikan file berikut ada:

/etc/cloud/cloud-init.disabled

atau pada tahap selanjutnya dengan memastikan file /etc/cloud/cloud.cfg.d/99-disable-network-config.cfgada dengan konten berikut:

network: {config: disabled}

Anda dapat menggunakan perintah ini untuk itu:

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

Informasi ini dapat ditemukan di komentar tajuk /etc/netplan/50-cloud-init.yaml, yang sebagian dibaca sebagai berikut:

# 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}

Ini dari file di Ubuntu 18.04 LTS dan kemungkinan juga valid untuk rilis selanjutnya.

code_dredd
sumber
IMHO, itu hanya menonaktifkan bagian konfigurasi jaringannya. Jadi itu tidak cukup.
Ludovic Kuty
@LudovicKuty Apa yang harus dilakukan oleh cloud-init: konfigurasikan sesuatu. Jadi, jika Anda menghentikannya untuk mengkonfigurasi hal-hal, Anda telah mencapai tujuan Anda dan itu sudah cukup untuk membuatnya keluar dari jalan Anda. Jika Anda bersikeras tidak, maka tolong jelaskan apa itu "cukup", tepatnya.
code_dredd
Mungkin masih mencoba mengkonfigurasi hal-hal lain selain jaringan. IMHO OP ingin menonaktifkannya sepenuhnya. Perhatikan bahwa rincian ini mungkin menarik dalam kasus lain.
Ludovic Kuty
@LudovicKuty Komentar Anda dianggap spekulatif ("IMHO", " mungkin ...", dll). Kecuali Anda dapat menunjukkan bahwa dokumentasi salah dan terus mencoba hal-hal setelah diberitahu untuk tidak melakukannya, saya tidak berpikir ada lebih banyak untuk ini, dan dalam hal ini, Anda akan lebih baik melaporkan bug kepada mereka . Ini sudah cukup setiap kali saya melakukannya di server saya.
code_dredd
Kunjungi cloudinit.readthedocs.io/en/latest/topics/boot.html vs cloudinit.readthedocs.io/en/latest/topics/network-config.html . Anda mengkritik "IMHO" dan "mungkin" dan Anda menulis "cara yang benar untuk menonaktifkan Cloud Init adalah dengan perintah ini" tetapi Anda seharusnya menambahkan "IMHO" karena itu bukan cara yang tepat untuk melakukannya.
Ludovic Kuty