< Back to index

Slackware was one of the earliest Linux distributions, and is the oldest, and most UNIX-like, distribution still being maintained. It was created by Patrick Volkerding of Slackware Linux, Inc. It has a policy of incorporating only stable releases of applications, standing mainly for design stability and simplicity. For a good while, other Linux distributions that came after it were in fact evaluated for their "Slackware compatibility".

History and name


The first Slackware release, 1.00, was on July 16, 1993 [http://www.slackware.com/announce/1.0.php] by Patrick Volkerding, founder and lead developer. It was based on the SLS Linux distribution and supplied as 3½" floppy disk images that were available by anonymous FTP.

The name "Slackware" stems from the term "Slack", as defined by the Church of the SubGenius.

In 1999, Slackware's release numbers saw a large increment from 4 to 7. This was explained by Patrick Volkerding [http://www.slackware.com/faq/do_faq.php?faq=general#0] as a marketing effort to show that Slackware was as up-to-date as other Linux distributions, many of which had release numbers of 6 at the time (such as Red Hat releasing each revision of its distribution with an incremement of 4.1 to 5.0 instead of 3.1 to 3.2 as Slackware did).

In 2004, Patrick Volkerding became seriously ill and the future development of Slackware became uncertain. He has since recovered and the development of Slackware has continued.

In 2005, the GNOME desktop environment was removed from the pending future release, and turned over to community support and distribution. The removal of GNOME was seen by some in the Linux community as significant because the desktop environment is found in many Linux distributions. In lieu of this, several community-based projects have filled the GNOME void in Slackware, by offering complete GNOME distributions for Slackware.

Throughout Slackware's history, there have been distributions and LiveCDs based upon Slackware. Some popular distributions derived from Slackware include College Linux, SLAX, VectorLinux, Zenwalk and Kate OS.

Releases



Slackware is primarily developed for the x86 PC hardware architecture. However there have previously been official ports to the DEC Alpha and SPARC architectures. As of 2005, there is an official port to the System/390 architecture. There are also unofficial ports to the ARM [http://armedslack.org/], Alpha [http://www.alphaslack.de/alphaslack.html], SPARC [http://www.splack.org/], PowerPC [http://workaround.ch/] [http://slackintosh.exploits.org/] and x86-64 (slamd64 [http://www.slamd64.com] and Bluewhite64 [http://www.bluewhite64.com --> architectures.

Slackware's latest stable x86 release is 11.0 (as of October 3, 2006), which includes support for ALSA, GCC 3.4.6, Linux kernel 2.4.33.3 and 2.6.17.13 (with Linux 2.6.18 as an alternate choice in /testing), KDE 3.5.4, Xfce 4.2.3.2, and all the usual utilities.

There is also a testing / developmental version of Slackware called '-current' that can be used for a more bleeding edge configuration.

ZipSlack



ZipSlack is a boiled-down edition of the Slackware Linux distribution originally designed to fit on a 100 MB Zip disk. It is currently distributed as a zip-compressed archive containing a ready-to-use, minimal Slackware Linux system. It lacks X Window functionality (which can be added if sufficient disk space is available) while making available basic networking and most of the compilers typically included in the main Slackware distribution. It has traditionally been using the FAT/FAT32 file system via UMSDOS giving it the advantage of an easy installation on a DOS or Windows 3.x/9x machine without having to repartition the hard drive. This is particularly useful for a quick and low-risk Slackware Linux tryout, or as a rescue Linux system when debugging an unbootable Linux partition. ZipSlack boots only from a genuine DOS mode and is therefore incompatible with typical Windows NT/2k/XP configurations.

Design philosophies


KISS



KISS ("Keep it Simple, Stupid") is a concept that explains 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 fast and stable, 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.

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 System V structure for the scripts makes them more powerful and flexible.

System V init [http://www.bilbos-stekkie.com/slack_init/en/index.html] compatibility has been incorporated into Slackware, starting with version 7.0.

Package management



Slackware employs a minimalist approach to package management. Its package management system can install, upgrade, and remove packages as easily as other distributions. But it makes no attempt to track or manage dependencies, relying on the user to ensure that the system has all the supporting system libraries and programs required by the new package. If any of these are missing, there may be no indication until one attempts to use the newly installed software.

The packages are gzipped tarballs whose filenames end with .tgz. They are constructed such that, when extracted into the root directory, their files go to their installed locations; the packages have already been compiled into the default Slackware filesystem scheme and work "out of the archive", with small modifications by the doinst.sh script. It is therefore possible (if inadvisable) to install packages without Slackware's package tools, using only tar, making sure to run the doinst.sh script, if one was included in the package.

In contrast, Red Hat's RPMs are CPIO archives, and Debian's .debs are ar archives. In addition they contain detailed dependency information, which their package management utilities can use to find and install the prerequisites.

Slackware's approach to package management seems to be well-accepted by its often technically-adept user base.

Automated dependency resolution


While Slackware itself does not incorporate tools to resolve dependencies for the user by automatically downloading and installing them, some 3rd-party software tools exist that can provide this function similar to the way APT does for Debian GNU/Linux.

Some of these tools determine dependencies by analyzing installed packages, determining what libraries are needed, and then discovering what packages are available that provide them. This automatic process is time-consuming, and more primitive than APT's hand-tuned method. However, it generally produces satisfactory results.

* [http://swaret.sourceforge.net/ Swaret]
* [http://software.jaos.org/#slapt-get slapt-get]
* [http://www.darklinux.net/slackupdate/ SlackUpdate]
* [http://emerde.freaknet.org Emerde]
* [http://slackpkg.sourceforge.net/ slackpkg]

Slackware 9.1 included Swaret as an extra on its second CD, but did not install it by default. Swaret was removed from the distribution as of Slackware 10.0 but is still available as a 3rd party package.

slackpkg is included in /extra starting with Slackware 9.1.

slapt-get does not provide dependency resolution for packages included within the Slackware distribution. It does, however, provide a framework for dependency resolution in Slackware compatible packages similar in fashion to the hand-tuned method APT utilizes. Several package sources and Slackware based distributions take advantage of this functionality.

Alternatively, NetBSD's pkgsrc provides support for Slackware, among other UNIX-like operating systems. pkgsrc provides dependency resolution for both binary and source packages.

Internet communities


Forums



Slackware is the topic of discussion on many dedicated web forums, as well as the Usenet newsgroup [news:alt.os.linux.slackware alt.os.linux.slackware] and the IRC channels [irc://irc.oftc.net/#slackware #slackware@irc.oftc.net] , [irc://chat.freenode.net/##slackware ##slackware@chat.freenode.net] and [irc://chat.freenode.net/#slackman #slackman@chat.freenode.net].

Third-party packages



Repositories of user maintained, third-party Slackware packages are provided by [http://linuxpackages.net linuxpackages.net] and [http://www.slacky.it slacky.it] , which include more recent versions of some software, and some software that are not released in any form by the Slackware maintainers. It is also possible to obtain these packages using third-party package-management software, including Swaret and Slapt-get.

Dropline GNOME, Freerock GNOME, and [http://gware.org GWARE] are projects intended to offer Slackware packages for GNOME. These projects exist because Slackware does not officially include GNOME, but a large number of users would prefer to have GNOME installed without having to go through the lengthy process of compiling it from source code.

In addition to the unofficial package repositories listed above, there is a relatively new project called [http://slackbuilds.org SlackBuilds.org] whose goal is to provide build scripts for compiling add-on software and creating Slackware packages of it. The project includes [http://slackbuilds.org/howto/ instructions] for using the build scripts in their repository.
This entry uses material from from Wikipedia, the leading user-contributed encyclopedia. It is licensed under the GNU Free Documentation License. Disclaimer.