Slackware
Slackware is a Linux distribution. Slackware takes a different approach than other popular distributions such as Red Hat, Debian, Gentoo, SuSE, and Mandrake Linux. It might best be described as "UNIX-like", given its policy of incorporating only stable applications, and the absence of distribution-specific GUI configuration tools found in other varieties of Linux. Partisans have been known to say, "When you know Slackware, you know Linux... when you know Red Hat, all you know is Red Hat."
Slackware's latest stable version is 9.1 (as of September 26, 2003), which includes support for ALSA, GCC 3.2.3, Linux kernel 2.4.22 (but it is 2.6.x ready), GNOME 2.4.0, KDE 3.1.4, and all the usual utilities.
There is also a testing version of Slackware called 'Current' that can be used if you like your distribution to be more bleeding edge.
The first version, 1.00, was released on July 17, 1993 by Patrick Volkerding. The original 1.0 announcement can be found here [1]. It was based on the SLS Linux distribution and supplied as 90mm floppy disk images that were available by anonymous FTP. Slackware celebrated its 10th anniversary on July 17, 2003.
The name "Slackware" stems from the term "Slack," as defined by the Church of the SubGenius.
Slackware design philosophies
KISS
KISS, which stands for "Keep it Simple, Stupid", is a concept that expains a lot of design choices in Slackware. In this context, 'simple' refers to the viewpoint of system design, rather than ease of use. This is the reason there are so few GUI tools to configure the system. GUI tools are (as the theory goes) more complex, and are therefore more prone to have problems than simple command line tools. The overall result of this principle is that Slackware is very fast, stable, and secure, at the cost of user-friendliness. Critics generally say that this makes things too time-consuming and difficult to learn. Advocates say that the flexibility and transparency as well as the experience gained from the process more than make up for it.
Slackware startup scripts
Slackware uses BSD style init scripts, while most other Linux distros use System V style init scripts. Basically, with System V style each runlevel is given a subdirectory for init scripts, whereas BSD style gives a single init script to each runlevel. BSD style advocates say that it is better because with this system it is much easier to find, read, edit, and maintain the scripts. System V advocates say that the Sys V structure for the scripts makes them more powerful and flexible.
It is worth noting that System V init [2] compatibility has been incorporated into Slackware, starting with version 7.0.
Package management
Slackware's approach to package management is unique. Slackware's package management system can install, upgrade, and remove packages as easily as other distributions. But it makes no attempt to track or manage what are referred to as "dependencies" (i.e. ensuring that the system has all the supporting system libraries and programs that the new package "expects" to be present on the system). Debate on the relative merits of tracking or ignoring dependencies, while not as intense, is somewhat reminiscent of the "religious warfare" found in the longstanding UNIX "Vi versus Emacs" text editor debate. Slackware's approach to the problem seems to be well accepted by its often technically adept user base.
Slackware's system of using .tgz binary packages most closely resembles the RPM binary packages used by Red Hat Linux and others. The main difference in how they work is that RPMs will refuse to install unless the packages it depends on are already installed or their RPMs are also present so they can be installed together. One can force the RPMs to install without their dependencies so you can deal with them after the fact, but this is not the normal way to do it. In contrast, tgz packages will install in Slackware normally even without their dependencies, and if something is missing you will not be informed of what is missing until you try to run the program.
RPMs have a few problems though. RPMs built for one distribution will usually not work on others. So a package built for SuSE will be of no use to someone using Mandrake Linux or Red Hat Linux for example, even though they all use RPMs. Another problem is what has come to be known as "RPM hell". Because Slackware packages have no built-in dependency tracking, it is able to avoid many of those same pitfalls encountered when using the RPM system. Also, because Slackware packages are just normal tgz (tar/gzip) files with an additional installation script, it is much easier for the average person to put together a tgz package than a RPM with all it's complex dependency related features.
That said, RPMs remain the most popular binary package format of the day, so Slackware gives the user tools that allow them to either install RPMs in Slackware, or convert RPMs to the tgz binary package format.
Automated dependency resolution
While Slackware itself does not incorporate tools to resolve dependencies for the user by automatically downloading and installing them, a couple of 3rd-party software tools exist that can provide this function similar to the way Apt does for Debian GNU/Linux.
- Swaret (external link)
- slapt-get (external link)
- SlackUpdate (external link)
Slackware 9.1 includes Swaret as an extra on its second CD, but does not install it by default.
LiveCDs
Slax
Slax is the Slackware LiveCD based in KDE, that consists of only 190 MB, so it can be installed in a USB keydrive too.
You can save/restore your settings by using a floppy, HDD, or USB keydrive. Run "configsave" and/or "configrestore" and then select your desired location.
Stux
STUX is a Linux system that runs from a LiveCD. STUX can automatically load and save main configuration and personal files on a writable partition. When STUX boots up, it looks for a configuration files archive (named stuxconf.zip):
- If the configuration files archive is found, STUX will use them to start up.
- If the configuration files archive is not found, the default archive (on CD-ROM) is used
=Other Slackware based distros
External links
- Slackware (official website)
- Slackware ChangeLog for Intel Architecture
- Slackware distribution mirror
- Collection of community contributed Slackware packages
- Slackware forum
- "old" Slackware Forum (still active)
- Dropline GNOME
- Slackware Tips & Tricks by Jack S. Lai
- Slax, Slackware LiveCD
- Stux
- Vectorlinux - User-friendly distribution based on slackware
- System V init information
- SlackFiles, Slackware documentation site