36

I'm using Ubuntu 14.04 image as my base box for vagrant. Unfortunately this base box contains cloud-init which causes many problems during starting-up the machine: https://github.com/mitchellh/vagrant/issues/3860

I'm not using my machine in the cloud so I don't really need this. I though typing:

sudo apt-get remove cloud-init

will solve my problems but the machine still spend about 3 minutes on startup trying to configure something I don't need.

I can see there a a number of cloud-init related files in /etc/init (for example cloud-init.conf, cloud-final.conf, cloud-config.conf etc). I could delete them but I'm not sure if this is safe.

I've also installed rcconf to check all starup scripts but I can't find anything related to cloud-init there. Any ideas?

mnowotka
  • 565

4 Answers4

27

A simpler way may be to just disable it - according to the cloud-init docs the way to disable it is:

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

And/or set cloud-init=disabled on the kernel command line if it's enabled that way.

Pierz
  • 3,391
12

This worked for me in 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

Good Luck.

5

On 14.04 you can use dpkg-reconfigure to disable cloud-init in the following way:

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

or just use sudo dpkg-reconfigure cloud-init to do it interactively.

m1keil
  • 159
3

Cloud Init is there to configure networking and it can be stopped at different stages. In recent versions, you can disable Cloud Init at the first stage by making sure the following file exists:

/etc/cloud/cloud-init.disabled

or at a later stage by making sure the file /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg exists with the following content:

network: {config: disabled}

You can use this command for it:

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

This information can be found in the header comments of /etc/netplan/50-cloud-init.yaml, which in part read as follows:

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

This is from the file in Ubuntu 18.04 LTS and likely to also be valid for later releases.