Jump to content

Slackware

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Yath (talk | contribs) at 21:57, 3 September 2007 (that was not a typo). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Slackware Linux
File:Slackware logo.png
Slackware's mascot - Tux with a pipe
DeveloperPatrick Volkerding
OS familyLinux
Working stateCurrent
Source modelFree and open source software
Latest release12.0 / 2007-07-02
Kernel typeMonolithic kernel
LicenseGNU General Public License
Official websitehttp://www.slackware.com/

Slackware is a Linux distribution created by Patrick Volkerding of Slackware Linux, Inc. Slackware was one of the earliest distributions, and is the oldest currently being maintained. Slackware aims for design stability and simplicity, and aims to be the most UNIX-like Linux distribution.[1]

Name

The name "Slackware" stems from the fact that the distribution started as a private side project with no intended commitment. To prevent it from being taken too seriously, Volkerding gave it a humorous name, which stuck even after Slackware became a serious project.[2] The "Slack" in Slackware is a reference to the term "Slack" as defined by the Church of the SubGenius.[3]

History

Slackware was originally descended from the Softlanding Linux System, the most popular of the original Linux distributions. SLS dominated the market until the developers made a decision to change the executable format from a.out to ELF. This was not a popular decision amongst SLS's user base at the time. Patrick Volkerding released a modified version of SLS, which he named Slackware.[4] The first Slackware release, 1.00, was on 16 July 1993.[5] It was supplied as 3½" floppy disk images that were available by anonymous FTP. Slackware quickly replaced SLS as the dominant Linux distribution at the time.[citation needed]

In 1999, Slackware's release numbers saw a large increment from 4 to 7. This was explained by Patrick Volkerding 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 increment of 4.1 to 5.0 instead of 3.1 to 3.2 as Slackware did).[6]

In 2005, the GNOME desktop environment was removed from the pending future release, and turned over to community support and distribution.[7] 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 began offering complete GNOME distributions for Slackware.

Design philosophy

Many design choices in Slackware can be seen as examples of the KISS principle.[8] In this context, "simple" refers to the viewpoint of system design, rather than ease of use. Most software in Slackware uses the configuration mechanisms supplied by the software's original authors; there are few distribution-specific mechanisms. This is the reason there are so few GUI tools to configure the system. This comes at the cost of user-friendliness. Critics consider the distribution time-consuming and difficult to learn. Advocates consider it flexible and transparent and like the experience gained from the learning process.

Package management

Slackware's package management system can install, upgrade, and remove packages, but 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.

Slackware packages are gzipped tarballs with filenames ending with .tgz. The package contains the files that form part of the software being installed, as well as additional files for the benefit of the Slackware package manager. The files that form part of the software being installed are organized such that, when extracted into the root directory, their files are placed in their installed locations. The other files are those placed under the install/ directory inside the package.

Two files are commonly found in the install/ directory, which are the slack-desc and doinst.sh files. These are not placed directly into the filesystem in the same manner as the other files in the package. The slack-desc file is a simple text file which contains a description of the package being installed. This is used when viewing packages using the package manager. Each file is placed in a directory on the system, in a file matching the name of their respective packages. The doinst.sh file is a shell script which is usually intended to run commands or make changes which could not be best made by changing the contents of the package. This script is run at the end of the installation of a package.[9]

Dependency resolution

While Slackware itself does not incorporate tools to automatically 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.

Slackware 9.1 included Swaret and slackpkg as extra packages on its second CD,[10] but did not install either by default. Swaret was removed from the distribution as of Slackware 10.0 but is still available as a 3rd party package.

slapt-get does not provide dependency resolution for packages included within the Slackware distribution. It instead provides 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.

Releases

x86 release history
version date
1.0 July 16 1993
1.1.2 February 5 1994
2.0 July 2 1994
2.1 October 31 1994
2.2 March 1995
2.3 May 1995
3.0 November 30 1995
3.1 June 3 1996
3.2 February 17 1997
3.3 June 11 1997
3.4 October 14 1997
3.5 June 9 1998
3.6 October 28 1998
3.9/4.0 May 17 1999
7.0 October 25 1999
7.1 June 22 2000
8.0 July 1 2001
8.1 June 18 2002
9.0 March 19 2003
9.1 September 26 2003
10.0 June 23 2004
10.1 February 2 2005
10.2 September 14 2005
11.0 October 2, 2006
12.0 July 1, 2007

Slackware's latest stable x86 release is 12.0[11] (as of July 2, 2007), which includes support for ALSA, GCC 4.1.2, Linux 2.6.21.5, KDE 3.5.7 and Xfce 4.4.1.[11]

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

Hardware architectures

Slackware is primarily developed for the x86 PC hardware architecture.[1] 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 [1], Alpha, SPARC [2], PowerPC [3] and x86-64 (slamd64 and Bluewhite64) architectures.

Third-party

Repositories of user maintained, third-party Slackware packages are provided by linuxpackages.net and slacky.eu, which include more recent versions of some software, and some software that are not released in any form by the Slackware maintainers. These repositories are often used in conjunction with third-party package-management software, such as Swaret and slapt-get.

Dropline GNOME, Freerock GNOME, GWARE and Gnome-Slacky 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.

Another project for building GNOME is the SlackBot automated build script system.

In addition to the unofficial package repositories listed above, there is a relatively new project called SlackBuilds.org whose goal is to provide build scripts for compiling add-on software and creating Slackware packages of it.

See also

References

  1. ^ a b http://slackware.com/info/
  2. ^ Hughes, Phil (1994-04-01). "Interview with Patrick Volkerding". Linux Journal. Retrieved 2007-07-03. {{cite web}}: Check date values in: |date= (help)
  3. ^ "Volkerding answers Slashdot questions".
  4. ^ http://lwn.net/Articles/91371/
  5. ^ http://www.slackware.com/announce/1.0.php
  6. ^ http://www.slackware.com/faq/do_faq.php?faq=general#0
  7. ^ ftp://ftp.slackware.com/pub/slackware/slackware-10.2/ChangeLog.txt
  8. ^ http://www.slackbasics.org/html/introduction.html#whatis-slackware
  9. ^ "Building a Slackware Package".
  10. ^ http://slackware.com/announce/9.1.php
  11. ^ a b http://slackware.com/announce/12.0.php
  12. ^ http://slackware.com/changelog/