Slackware Minimal Install
Slackware is designed to be a Unix like operating system with a focus on being easy to use and stability. Less well known is Slackware is designed to be a full operating system. Full with respect to being a server, a desktop, and a programming environment. This one-size-fits-all design means everything is tested to function together with no breakage.
That is why among Slackers the common advice is to perform a full installation.
This does not set well with some users. A full install includes unnecessary software when a person has narrow needs.
Through the years people have asked how to perform a minimal install on Slackware. Common replies include, “There is no such thing,” or “Please define minimal.”
The software included with a Slackware release are grouped together with something called software sets. The design of these package sets is not rigid or set in stone. An inexperienced user might presume that installing only the
/a set will provide a minimal install. While those packages will provide a basic system that boots, there are many packages in the set that some people consider unnecessary with respect to being “minimal.”
Conversely, installing only the
/a set will not create a usable network connection and some people consider that to be important even in a minimal environment.
A challenge with defining “minimal” is with respect to what? A desktop? A basic router/firewall? A server? What kind of server? Answering such questions is subjective. Throw in human nature where almost everybody has different needs and the questions become almost impossible to answer.
The goal becomes more reasonable if rephrased to installing a specific type of base system.
Perhaps this is one place were the BSD folks shine a little. They focus on designing a base operating system.
A “base” Slackware install is possible. A caveat with pursuing “base” installs is package dependencies. Understanding package dependencies is not proverbial rocket science. Experienced or motivated users can reduce the number of installed packages without breaking the system. Examples of such pursuits include a mini installer disk or Slackware derivatives based on a “one application per task” foundation.
The trick is each person wanting a specific type of base install rather than a full install has to provide the sweat equity to prune packages and test the final environment. No direct support is provided, but nothing prevents a user from pursuing a targeted base install. Searching the web will find people sharing various attempts at a “minimal” or “base” install.
The Slackware installer supports excluding packages. This can be done interactively or automated through a feature known as
tagfiles. The Slackware installer supports using tagfiles other than those included by default. After expending effort to create a desired base install for a specific purpose, respective tagfiles can be created with a helpful tagfile generator script.
Removing a significant number of packages from the expected full install likely will create broken dependencies.
Perhaps some day an online collection might appear with tagfiles for different types of base systems, such as:
- Barebones minimal bootable system
- Barebones with basic networking
- File server
- Print server
- Web server
- Mail server
- Database server
- DNS server
- DHCP server
- Gateway router/firewall