Jump to content

Slackware

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 96.50.131.77 (talk) at 14:30, 16 July 2009 (Package management: -- kleansweep does not support Slackware.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Slackware
File:Slackware logo.png
Slackware 12.1
DeveloperPatrick Volkerding
OS familyUnix-like
Working stateCurrent
Source modelOpen source
Initial release16 July 1993
Latest release12.2 / December 10, 2008 (2008-12-10)
PlatformsIA-32, x86-64, ARM, S/390
Kernel typeMonolithic kernel (Linux)
LicenseGNU General Public License
Official websitewww.slackware.com

Slackware is a free 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 12.2, released on December 10, 2008.

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 by 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[citation needed] (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. 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 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,[11] but did not install either 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.

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. Gslapt is a GTK version of slapt-get.

Alternatively, 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 compatible) with additional packages.

Tukaani pkgtools replace the Slackware pkgtools (installpkg, upgradepkg, etc.). This can be a major barrier for someone that wants to try the new pkgtools, because pkgtools are critical part of the system. There are no plans to make a version which could be used alongside the old Slackware pkgtools.

Emerde is the port of Gentoo's portage system that installs, removes, updates, maintains your system rapidly and easily. Furthermore on Slackware distribution it cooperates with the Slackware's db and allows to install .tgz files directly, using dependency checking.

SlackIns is a complete Qt-based UI with the design goals of providing a complete interface to install, remove and upgrade .tgz packages.

In the practics, the dependency problem isn't very relevant. The .tgz packages normally include the whole program, not divided in main, dev and other parts like .rpm . Even for huge .tgz -based systems, it's sufficient to observe the dependency listing included in most 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 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/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

Slackware's latest stable x86 release is 12.2[12] (as of 2008-12-10), which includes support for ALSA, GCC 4.2.4, Linux 2.6.27.7, KDE 3.5.10 and Xfce 4.4.3.[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 the 32-bit x86 PC architecture, support 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.

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.

Here is what Patrick Volkerding said about dropping GNOME:

gnome/*:  Removed from -current, and turned over to community support and
  distribution.  I'm not going to rehash all the reasons behind this, but it's
  been under consideration for more than four years.  There are already good
  projects in place to provide Slackware GNOME for those who want it, and
  these are more complete than what Slackware has shipped in the past.  So, if
  you're looking for GNOME for Slackware -current, I would recommend looking at
  these two projects for well-built packages that follow a policy of minimal
  interference with the base Slackware system:

    http://gsb.sf.net
    http://gware.sf.net

  There is also Dropline, of course, which is quite popular.  However, due to
  their policy of adding PAM and replacing large system packages (like the
  entire X11 system) with their own versions, I can't give quite the same sort
  of nod to Dropline.  Nevertheless, it remains another choice, and it's _your_
  system, so I will also mention their project:

    http://www.dropline.net/gnome/

  Please do not incorrectly interpret any of this as a slight against GNOME
  itself, which (although it does usually need to be fixed and polished beyond
  the way it ships from upstream more so than, say, KDE or XFce) is a decent
  desktop choice.  So are a lot of others, but Slackware does not need to ship
  every choice.  GNOME is and always has been a moving target (even the
  "stable" releases usually aren't quite ready yet) that really does demand a
  team to keep up on all the changes (many of which are not always well
  documented).  I fully expect that this move will improve the quality of both
  Slackware itself, and the quality (and quantity) of the GNOME options
  available for it.

  Folks, this is how open source is supposed to work.  Enjoy.  :-)

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.

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/