Slackware
File:Slackware logo.png | |
Developer | Patrick Volkerding |
---|---|
OS family | Unix-like |
Working state | Current |
Source model | Open source |
Initial release | 16 July 1993 |
Latest release | 12.2 / December 10, 2008 |
Platforms | IA-32, x86-64, ARM, S/390 |
Kernel type | Monolithic kernel (Linux) |
License | GNU General Public License |
Official website | www.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'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
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
References
- ^ Distrowatch.com. "Top Ten Distributions".
- ^ Slackware website General Information
- ^ Hughes, Phil (1994-04-01). "Interview with Patrick Volkerding". Linux Journal. Retrieved 2007-07-03.
{{cite web}}
: Check date values in:|date=
(help) - ^ "Volkerding answers Slashdot questions".
- ^ A Short History of Linux Distributions [LWN.net]
- ^ The Slackware Linux Project: Slackware Release Announcement
- ^ The Slackware Linux Project: Frequently Asked Questions
- ^ ftp://ftp.slackware.com/pub/slackware/slackware-10.2/ChangeLog.txt
- ^ Chapter 2. An introduction to Slackware Linux
- ^ "Building a Slackware Package".
- ^ The Slackware Linux Project: Slackware Release Announcement
- ^ a b The Slackware Linux Project: Slackware Release Announcement
- ^ The Slackware Linux Project: Slackware ChangeLogs
- ^ http://slashdot.org/submission/1004447/Slackware-64-bits-is-alive
- ^ http://www.armedslack.org/