I do a bit of devops. I get frustrated with waiting even a few seconds longer than I feel like I should. Here is my list of tweaks to Ubuntu Server and Cloud Images.
First, things that make apt-get update fly, because in testing out packages, I find myself running this way too much.
# disable “translations” of Packages index (½ the downloads) echo Acquire::Languages \"none\"\; | tee /etc/apt/apt.conf.d/02nolang # disable source repos (½ the downloads) sed -i -e 's/^deb-src/#deb-src/' /etc/apt/sources.list # disable universe and multiverse by default # If it is trusty, you’ll need to apt-get install software-properties-common # so that you can... add-apt-repository -r universe add-apt-repository -r multiverse # don’t need 386 packages on amd64 rm -f /etc/dpkg/dpkg.cfg.d/multiarch sudo dpkg --remove-architecture i386
Next, things which shrink the overall system image. I know it doesn’t seem like much, but I don’t want to wait for updatedb to index unneeded files. I don’t want to wait for xapian on systems on which I never use it. I don’t want to wait for apt-get upgrade to upgrade any of these packages when I don’t use them.
# disable apt-xapian-index - not sure what uses it, I don’t care. apt-get purge -y apt-xapian-index # don’t need kernel headers, you won’t compile on your server apt-get purge -y linux-headers-generic linux-headers-virtual # if you aren’t using landscape-client you can save 7-10MB: apt-get purge -y python-twisted-core # you could go less than ubuntu-minimal by losing x11 stuffs sudo apt-get purge -y libx11-data xkb-data # we don’t use interactive commands on our cloud servers - don’t need command not found apt-get purge -y command-not-found command-not-found-data # default to —no-install-recommends echo APT::Install-Recommends \"0\"\; | sudo tee -a /etc/apt/apt.conf.d/03norecommends # don’t need ntfs support sudo apt-get purge -y ntfs-3g
There. Slimmer, tinier images with less updates to download and install.