Ubuntu 18.04 Chronicles: removing cloud-init

You just deployed yourself a fresh copy of Ubuntu Server 18.04 Bionic Beaver. It should be the latest and greatest, and you just need a virtual machine to do some web development or perhaps you just want to enable IP forwarding and use this machine as a router. That’s great, except the latest Ubuntu assumes that you are part of the current trend to put everything in the cloud, and so ships with something called cloud-init.

No harm normally, but this wastes valuable seconds doing something you don’t need if you’re not in the cloud. It’s easy to remove this package by following the (modified) instructions here: https://makandracards.com/operations/42688-how-to-remove-cloud-init-from-ubuntu :

  1. dpkg-reconfigure cloud-init
    1. Then deselect all the options except None
  2. sudo apt-get purge cloud-init
  3. sudo mv /etc/cloud/ ~/; sudo mv /var/lib/cloud/ ~/cloud-lib
    1. I prefer to move, rather than delete, in case something goes wrong and you wish to restore the files.

When you remove cloud-init following those steps, your machine stops booting and there is apparently a service that is waiting for network to be up. This would normally be just an inconvenience, but the boot hangs indefinitely waiting for said network. Odd choice of configuration out of the box, but anyway, you can fix this by:

  1. List the services which depend on network being online.
    • sudo systemctl show -p WantedBy network-online.target
  2. This will list the culprits as some iscsi services that you probably don’t need.
  3. Disable the services and remove the open-iscsi package
    • systemctl disable <service name>
    • apt remove open-iscsi

That should do to get the system booting without some service waiting endlessly for a network connection.

5 thoughts to “Ubuntu 18.04 Chronicles: removing cloud-init”

  1. A word of warning: I tried this on the Ubuntu 16.04 minimal server image for the Raspberry Pi, and there’s something different about its setup that kept this method from working. I wound up with the “permanent hang on boot” problem. There’s probably some different “WantedBy” that needs fixing, but this is my first encounter with cloud-init, so I have no clue about how to find out what it is.

    One of the wonderful things about the Internet is folks like Fanen who share their experience in ways that have often helped me out of a jam, so I’m not disparaging this tip. I just wanted to let people know that it’s not universally applicable.

    1. Thanks for your comment. Perhaps you missed some of the output of WantedBy? What was the culprit in your case? I may be able to incorporate your feedback into the blog post.

      Mind you also, your comment says Ubuntu 16.04, but this Post is aimed specifically at Ubuntu 18.04.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.