Jump to content

Slackware

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 203.129.33.32 (talk) at 04:55, 31 August 2009 (History). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Slackware
Slackware 13.0
DeveloperPatrick Volkerding
OS familyUnix-like
Working stateCurrent
Source modelFree and open source software
Initial release16 July 1993
Latest release13.0 / August 26, 2009 (2009-08-26)
PlatformsIA-32, x86-64, ARM, S/390
Kernel typeMonolithic Linux kernel
LicenseGNU General Public License
Official websitewww.slackware.com

Slackware is a free and open source operating system. It is one of the earliest Linux distributions and is the oldest currently being maintained.[1] Slackware was created by Patrick Volkerding of Slackware Linux, Inc. in 1993. The current stable version is 13.0, released on August 26, 2009.

Slackware aims for design stability and simplicity, and to be the most "Unix-like" Linux distribution, using plain text files for configuration and making as few modifications to software packages as possible from upstream.[2]

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 at first, Volkerding gave it a humorous name, which stuck even after Slackware became a serious project.[3]

The "slack" in Slackware is a reference to the term "slack" as used by the Church of the SubGenius.[4]

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 among SLS's user base at the time. Patrick Volkerding released a modified version of SLS, which he named Slackware.[5] The first Slackware release, 1.00, was on July 16, 1993.[6] It was supplied as 3½" floppy disk images that were available via anonymous FTP.

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).[7]

In 2005, the GNOME desktop environment was removed from the pending future release, and turned over to community support and distribution.[8] 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.[9] 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, whereas advocates consider it flexible and transparent and like the experience gained from the learning process.

Package management

Slackware mascot

Slackware's package management system can install, upgrade, and remove packages from local sources, 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. Package format was changed to .txz starting from version 13.0. 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. 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.[10]

Dependency resolution

While Slackware itself does not incorporate tools to resolve dependencies for the user by automatically downloading and installing them, some third-party software tools do provide this function, similar to the way APT does for Debian.

Swaret and slackpkg were included as extra packages in the Slackware 9.1 CD #2,[11] but were not installed by default. Swaret was removed from the distribution as of Slackware 10.0 but is still available as a third-party package. As of Slackware 12.2, slackpkg has been added as the official remote package manager.

SlackIns is a complete and simple Qt-based graphical user interface for installing packages.

slapt-get, command line utility, is not installed by default, and it does not provide dependency resolution for packages included within the Slackware distribution. It functions in a similar way to APT. Several package sources and Slackware based distributions take advantage of this functionality. Gslapt is a graphical interface to slapt-get.

Alternative dependency resolution methods exist. NetBSD's pkgsrc provides support for Slackware, among other UNIX-like operating systems. pkgsrc provides dependency resolution for both binary and source packages. pkgsrc-on-slack The goal of this project is to promote the use of pkgsrc on Linux, and expand Slackware (and derivative distributions) with additional packages.

Another niche tool, Tukaani pkgtools replaces the Slackware pkgtools (installpkg, upgradepkg, etc.). But pkgtools are a critical part of the system.

Gentoo's portage system has been adapted for Slackware as Emerde It co-exists with the native Slackware system.

Releases

x86 release history
version date
1.0 July 16, 1993
1.1.0 November 5, 1993
1.1.2 February 5, 1994
2.0 July 2, 1994
2.1 October 31, 1994
2.2 March 30, 1995
2.3 May 24, 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 May 10, 1999
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
12.1 May 2, 2008
12.2 December 10, 2008
13.0 August 26, 2009

Slackware's latest stable x86 release is 13.0[12] (as of 2009-08-26), which includes support for ALSA, GCC 4.3.3, Linux 2.6.29.6, KDE 4.2.4 and Xfce 4.6.1.[12]

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

Hardware architectures

While the Slackware project has always focused primarily on IA-32, optimization for the x86-64 platform is now being officially developed and is receiving the same attention as the original 32-bit platform.[14]

Slackware is also available for the ARM architecture in the form of ARMedslack which has been declared "official" by Patrick Volkerding.[15]

Slackware for the IBM S/390 architecture is also still actively developed and maintained in both -current and -stable forms. [16]

Third-party

GNOME Projects for Slackware:

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.

An unofficial 'Slackintosh' project offers Slackware for PPC Macintosh hardware with a New_World_ROM.

See also

Template:Fossportal

References

  1. ^ Distrowatch.com. "Top Ten Distributions".
  2. ^ Slackware website General Information
  3. ^ Hughes, Phil (1994-04-01). "Interview with Patrick Volkerding". Linux Journal. Retrieved 2007-07-03. {{cite web}}: Check date values in: |date= (help)
  4. ^ "Volkerding answers Slashdot questions".
  5. ^ A Short History of Linux Distributions [LWN.net]
  6. ^ The Slackware Linux Project: Slackware Release Announcement
  7. ^ The Slackware Linux Project: Frequently Asked Questions
  8. ^ ftp://ftp.slackware.com/pub/slackware/slackware-10.2/ChangeLog.txt
  9. ^ Chapter 2. An introduction to Slackware Linux
  10. ^ "Building a Slackware Package".
  11. ^ The Slackware Linux Project: Slackware Release Announcement
  12. ^ a b The Slackware Linux Project: Slackware Release Announcement
  13. ^ The Slackware Linux Project: Slackware ChangeLogs
  14. ^ http://slashdot.org/submission/1004447/Slackware-64-bits-is-alive
  15. ^ http://www.armedslack.org/
  16. ^ http://slackware.com/changelog/current.php?cpu=s390