Jak pozbyć się inicjacji chmurowej?

20

Używam obrazu Ubuntu 14.04 jako mojego podstawowego pudełka dla włóczęgów. Niestety, ta podstawowa skrzynka zawiera chmurę inicjacji, która powoduje wiele problemów podczas uruchamiania komputera: https://github.com/mitchellh/vagrant/issues/3860

Nie używam mojego komputera w chmurze, więc tak naprawdę nie potrzebuję tego. Myślałem, pisząc:

sudo apt-get remove cloud-init

rozwiąże moje problemy, ale komputer nadal spędza około 3 minut na staraniach, próbując skonfigurować coś, czego nie potrzebuję.

Widzę tam aa liczbę powiązanych plików INIT chmurze /etc/init(na przykład cloud-init.conf, cloud-final.conf, cloud-config.confetc). Mogę je usunąć, ale nie jestem pewien, czy jest to bezpieczne.

Zainstalowałem również, rcconfaby sprawdzić wszystkie skrypty Starup, ale nie mogę tam znaleźć niczego związanego z inicjowaniem chmury. Jakieś pomysły?

mnowotka
źródło

Odpowiedzi:

12

Według dokumentów inicjujących chmurę sposobem na wyłączenie jest:

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

I / lub ustaw cloud-init=disabledw wierszu poleceń jądra, jeśli jest on włączony w ten sposób.

Pierz
źródło
Pamiętaj, że to nie usuwa. Nadal tam jest, ale przestanie próbować konfigurować rzeczy na bardzo wczesnym etapie. Zobacz cloudinit.readthedocs.io/en/latest/topics/boot.html
Ludovic Kuty
Pewnie dlatego powiedziałem, że to wyłączy .
Pierz
1
Tak masz rację. Mój komentarz jest bezużyteczny.
Ludovic Kuty
6

14.04 możesz użyć dpkg-reconfigure, aby wyłączyć chmurę init w następujący sposób:

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

lub po prostu użyj, sudo dpkg-reconfigure cloud-initaby zrobić to interaktywnie.

m1keil
źródło
6

To działało dla mnie w 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

Powodzenia.

Lion Gates
źródło
1
Naprawdę? Zmienić plik, który usuwasz dwa kroki później? Wygląda na to, że możesz pominąć pierwszy krok.
Enno Gröper
2

Cloud Init służy do konfiguracji sieci i można go zatrzymać na różnych etapach. W najnowszych wersjach możesz wyłączyć Cloud Init na pierwszym etapie, upewniając się, że istnieje następujący plik:

/etc/cloud/cloud-init.disabled

lub na późniejszym etapie, upewniając się, że plik /etc/cloud/cloud.cfg.d/99-disable-network-config.cfgistnieje z następującą zawartością:

network: {config: disabled}

Możesz do tego użyć tego polecenia:

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

Informacje te można znaleźć w komentarzach nagłówka /etc/netplan/50-cloud-init.yaml, które w części brzmią następująco:

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

Pochodzi z pliku Ubuntu 18.04 LTS i prawdopodobnie będzie obowiązywał również w późniejszych wersjach.

kod_dredd
źródło
IMHO wyłącza tylko część konfiguracji sieci. To nie wystarczy.
Ludovic Kuty
@LudovicKuty Dokładnie to, co jest do zrobienia w chmurze: konfiguracja. Jeśli więc przestaniesz próbować konfigurować różne rzeczy, osiągniesz swój cel i wystarczy, aby nie przeszkadzał. Jeśli nalegasz, że tak nie jest, wyjaśnij dokładnie, co „wystarczy”.
code_dredd
Może nadal próbuje skonfigurować inne rzeczy niż sieć. IMHO OP chciał ją całkowicie wyłączyć. Pamiętaj, że ta szczegółowość może być interesująca w innych przypadkach.
Ludovic Kuty
@LudovicKuty Twoje komentarze są spekulatywne („IMHO”, „ może …” itp.). O ile nie możesz wykazać, że dokumentacja jest nieprawidłowa i że nadal próbuje rzeczy po otrzymaniu polecenia, aby tego nie robić, nie sądzę, aby było o wiele więcej, w takim przypadku lepiej byłoby zgłosić im błąd . To wystarczyło za każdym razem, gdy robiłem to na moich serwerach.
code_dredd
Idź sprawdź cloudinit.readthedocs.io/en/latest/topics/boot.html vs cloudinit.readthedocs.io/en/latest/topics/network-config.html . Krytykujesz moje „IMHO” i „może” i piszesz „prawidłowym sposobem wyłączenia Cloud Init jest to polecenie”, ale powinieneś dodać „IMHO”, ponieważ nie jest to właściwy sposób.
Ludovic Kuty