Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

You can accomplish this by setting up the partition table to only have a / partition. That means you won't setup swap/home or anything else. You would then do an install of a very base OS, usually minimal. Then you would install only the packages that you need. I've been able to get at or very close to 1g, but that is due to me needing to have specific packages and pre-populated config files.

You could take the minimal install and then modify packages so that you create an even smaller footprint. Then you would want to setup cloud-init to install the packages that users would expect on a base install. That way when the server comes up it installs stuff like ntp, traceroute, or other services/tools people are used to.

It depends on your use case. If your users are good at keeping their instances up to date then you could go with the cloud-init route, but if they are terrible at it and they need all of the packages to be the exact same without security updates/new versions, then you'll want to make smaller base images with the packages installed to begin with. That way for every instance they launch they have the same package versions, at least until they yum update/apt-get update.