Setting up a "small" Slackware install

The following was originally on GitHub but as it is effectively a blog post I decided to move it here.


Intro

Before you do this reconsider if it is really needed. More often than not, it isn't. This is why.

A common reason for attempting a minimal install is an expectation that Slackware will run faster. This is not true. Some of the actual, valid, reasons for stripping back the install include:

  • Installing on a device with limited disk space, where it is hard to add additional storage
  • A setup where you rent disk space (e.g. a Virtual Private Server)
  • As a learning exercise. ;)

If you do have a good reason, below is a rough guide. It won't get you the smallest possible install but with relatively little effort you can take 32-bit Slackware 14.1 down to around the 2GB mark, which is good enough for many use cases. It is also relatively fast to setup, compared to a more precise minimal install (without any redundant dependencies).

Remember that only a full install is supported, so if you are asking for help on the Slackware forums you should first test your problem with a full install, to ensure that missing packages are not the source of your problems. At the very minimum mention that your installation is stripped back and what you have removed.

Install

  1. Install only the a/, d/, l/, n/ and x/ package sets.
  2. After install is complete remove large, unneeded packages (see Tips below for help identifying the biggest packages). If you are unsure if something is needed, just leave it! Some examples of things to consider include:
    • Large libs, like Qt
    • Large network servers, like Apache (httpd)
    • Kernel and kernel module packages you don't use
    • Any development tools you know you won't need
    • Excess font packages
  3. Consider also removing /usr/doc. The contents of this directory take up quite some space and are not essential IMHO (all the info can be found online).
  4. Install anything you find missing and regularly use (e.g. your preferred window manager, a web browser, your favourite utilities). You can find the packages on your local install media or use a tool like lftp or wget to fetch packages from a Slackware mirror.

Tips

  • You can generate a sorted list of the largest installed packages via the following command:
( cd /var/log/packages/ ; grep -x 'U.*M' * ) | awk -F: '{print $3 "\t" $1}' | sort -n
  • To simplify installing additional packages and keeping the system up to date, install and configure slackpkg (found in the ap/ package set).
  • If you want to be able to read man pages locally, install groff, man and man-pages (found in the ap/ package set). Otherwise there are plenty sites online that have the same information.
  • Have a look through PACKAGES.TXT (found on the install media or a mirror) to get an overview of available packages from the official repository. Pay particular attention to packages from the package sets you skipped over during install.
  • If a program complains about a missing program or library, you can find the package that owns it using slackpkg's file-search command or by looking in MANIFEST.bz2.
comments powered by Disqus