Jump to content

Slackware

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 216.186.185.230 (talk) at 18:08, 26 December 2015 (→‎Name: not anymore...). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Slackware
Slackware 14.1
DeveloperPatrick Volkerding
OS familyUnix-like (based on Softlanding Linux System)
Working stateCurrent
Source modelOpen source and Closed source[1]
Initial release17 July 1993; 31 years ago (1993-07-17)[2]
Latest release14.1 / 7 November 2013; 10 years ago (2013-11-07)[3]
Available inMultilingual
Update methodpkgtools, slackpkg
Package managerpkgtools, slackpkg
PlatformsIA-32, x86-64, ARM, S/390
Kernel typeMonolithic (Linux)
UserlandGNU
Default
user interface
CLI
LicenseGNU General Public License
Official websitewww.slackware.com

Slackware is a Linux distribution created by Patrick Volkerding in 1993. Originally based on Softlanding Linux System, Slackware has been the basis for many other Linux distributions, most notably the first versions of SUSE Linux,[4][5] and is the oldest currently being maintained.[6]

Slackware aims for design stability and simplicity and to be the most "Unix-like" Linux distribution.[7] It makes as few modifications as possible to software packages from upstream and tries not to anticipate use cases or preclude user decisions. In contrast to most modern Linux distributions, Slackware provides no graphical installation procedure and no automatic dependency resolution of software packages. It uses plain text files and only a small set of shell scripts for configuration and administration. Without further modification it boots into a command-line interface environment. Because of its many conservative and simplistic features, Slackware is considered to be most suitable for advanced and technically inclined Linux users.[8][9][10][11][12][13]

Slackware is available for the IA-32 and x86-64 architectures, with a port to the ARM architecture. While Slackware is mostly[1] free and open source software, it does not have a formal bug tracking facility or public code repository, with releases periodically announced by Volkerding. There is no formal membership procedure for developers and Volkerding is the primary contributor to releases.

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

History

1993–2003

Slackware was originally derived from the Softlanding Linux System (SLS), the most popular of the original Linux distributions and the first to offer a comprehensive software collection that comprised more than just the kernel and basic utilities,[15] including X11 graphical interface, TCP/IP and UUCP networking and GNU Emacs.[16]

Being a student at that time, Patrick Volkerding was asked by his artificial intelligence professor at the Minnesota State University Moorhead (MSUM) to make SLS installations for the computer lab. First Volkerding made notes on bug fixes and modifications of the system's configuration, to be applied after the installation was complete. Later he incorporated the changes directly into the SLS install disks "so that new machines would have these fixes right away". He changed parts of the original SLS installation scripts and added a mechanism that installed important packages like the shared libraries and the kernel image automatically.[14]

Volkerding had no intentions to provide his modified SLS version for the public, assuming that "SLS would be putting out a new version that included these things soon enough". However, seeing that this was not the case and that many SLS users were asking on the Internet for a new SLS release, he made a post titled "Anyone want an SLS-like 0.99pl11A system?", to which he received a lot of responses. Volkerding's friends at MSUM also urged him to put his SLS modifications onto an FTP server, resulting in them becoming publicly available on one of the university's anonymous FTP servers.[14] This first Slackware release, version 1.00, was distributed on 17 July 1993 at 00:16:36 (UTC),[2] and was supplied as 24 3½" floppy disk images.[17]

Version 2.1, released in October 1994, already consisted of 73 floppy disks, showing the rapid growth of the distribution.[18]

With version 3.0, released in November 1995, Slackware made the transition to the Executable and Linkable Format (ELF). It was also the first release offering a CD-ROM based installation.[19]

Slackware 3.1, released in July 1996, shipped with Linux kernel 2.0.0 and was called "Slackware 96" in allusion to Windows 95.[20][21]

In 1999, Slackware's release number jumped from 4 to 7. Patrick Volkerding explained this 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, and Volkerding expected them to reach version 7 by the time of the jump.[22]

The 8.0 version, released on 28 June 2001, was the first Slackware release with support for the Mozilla browser. It was based on the 2.2.19 version of the Linux kernel. The 2.4.5 Linux kernel, which provided support for the ReiserFS file system, was shipped as an alternative installation option.[23]

Slackware 9.1 was released on 25 September 2003. Major changes included the switch to the Advanced Linux Sound Architecture (ALSA) as the default sound system, and the inclusion of Sun's Java 2 Development Kit.[24]

2004–present

With version 10.0, released in June 2004, Slackware saw a major change in its implementation of the X Window System, making the transition from XFree86 to the X.org Server. Volkerding explained his motives in the version's change log: "Seems the community has spoken, because the opinions were more than 4 to 1 in favor of using the X.Org release as the default version of X. It's primarily (as is usual around here) a technical decision."[25]

In 2005, the GNOME desktop environment was removed from the pending future release (starting with version 10.2), and turned over to community support and distribution.[26] The removal of GNOME was seen by some in the Linux community as significant because this desktop environment is found in many Linux distributions. In lieu of this, several community-based projects began offering complete GNOME distributions for Slackware such as Ximian and LinuxSalute.

Slackware 12.0, released in July 2007, was the first release shipped with Linux 2.6 by default. This version also had support for the Hardware Abstraction Layer (HAL), for the first time.[27]

In May 2009 the development team announced the public (testing) release of an x86 64 variant called Slackware64.[28] As of Slackware 13.0 (released in August 2009), a stable 64-bit version has been available and officially supported.

Version 13.1, released in May 2010, introduced PolicyKit and ConsoleKit in the desktop framework. Furthermore, Slackware made a switchover from the IDE to the libata subsystem, changing the nomenclature of device nodes for almost all types of disk drives.[29][30]

Version 13.37 was released in April 2011. Among the new features are support for the GUID Partition Table hard disc partitioning scheme which could replace the MBR system, as well as utilities for the Btrfs filesystem.[31]

Version 14.0 was released in September 2012, shipped with a 3.x kernel for the first time and added support for NetworkManager. HAL was dropped again as its functionality was merged into udev.[32]

Version 14.1 was released in November 2013 and shipped with Linux 3.10.17, a longterm support kernel.[33] This release also adds support for booting on computers which use UEFI firmware.

Design philosophy

The design philosophy of Slackware is oriented toward simplicity, software purity,[clarification needed] and a core design that emphasizes lack of change to upstream sources. Many design choices in Slackware can be seen as a heritage of the simplicity of traditional Unix systems and as examples of the KISS principle.[34] In this context, "simple" refers to the simplicity in system design, rather than system usage. Thus, ease of use may vary between users: those lacking knowledge of command line interfaces and classic Unix tools may experience a steep learning curve using Slackware, whereas users with a Unix background may benefit from a less abstract system environment.[citation needed] In keeping with Slackware's design philosophy, and its spirit of purity, most software in Slackware uses the original configuration mechanisms supplied by the software's authors; however, for some administrative tasks, distribution-specific configuration tools are delivered.

Development model

There is no formal issue tracking system and no official procedure to become a code contributor or developer. The project does not maintain a public code repository. Bug reports and contributions, while being essential to the project, are managed in an informal way. All the final decisions about what is going to be included in a Slackware release strictly remain with Slackware's benevolent dictator for life, Patrick Volkerding.[35][36][37]

The first versions of Slackware were developed by Patrick Volkerding alone. Beginning with version 4.0, the official Slackware announce files list David Cantrell and Logan Johnson as part of the "Slackware team".[38] Later announce statements, up to release version 8.1, include Chris Lumens.[39] Lumens, Johnson and Cantrell are also the authors of the first edition of "Slackware Linux Essentials", the official guide to Slackware Linux.[40] The Slackware website mentions Chris Lumens and David Cantrell as being "Slackware Alumni", who "worked full-time on the Slackware project for several years."[36] In his release notes for Slackware 10.0 and 10.1 Volkerding thanks Eric Hameleers for "his work on supporting USB, PCI, and Cardbus wireless cards".[41][42] Starting with version 12.0 there is, for a second time, a team building around Volkerding. According to the release notes of 12.2, the development team consists of seven people. Future versions added people.[27][27] Since version 13.0, the Slackware team seems to have core members. Eric Hameleers gives an insight into the core team with his essay on the "History of Slackware Development", written on 3–4 October 2009 (shortly after the release of version 13.0).[35]

Packages

Management

The Slackware mascot: Tux smoking a pipe

Slackware's package management system can install, upgrade, and remove packages from local sources and over a network.

As of Slackware 12.2, slackpkg has been added as the official network-capable package manager, complementing the traditional package tools suite that only operates locally.[43]

Slackware packages are tarballs. Prior to version 13.0, the compression method was DEFLATE (gzip) with filenames ending in .tgz. Beginning with version 13.0, the compression method for packages is based on the LZMA algorithm, indicated by the .txz extension.[44] Since the change in compression methods, the package filename extensions comprise .tgz,.txz,.tbz and .tlz.

The package contains the files that form part of the software being installed, as well as additional metadata files for the benefit of the Slackware package manager. The package tarball contains a directory structure such that the files which make up the software being installed are organized in a hierarchical way that mirrors their respective locations in the root directory of the destination system.

The metadata files are placed under the install/ directory of the package. Two files are commonly found there: slack-desc and doinst.sh. The slack-desc file is a simple text file which contains a description of the package being installed. It is used when viewing packages with the package manager. The doinst.sh file is a shell script which is run at the end of the installation of a package and usually executes commands or makes changes which could not be best made by changing the contents of the package.[45]

Dependency resolution

The package management system does not track or manage dependencies, instead it relies 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 the newly installed software is used.

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

Alternative packaging tools include:

  • Swaret is a package management tool featuring dependency resolution. It was included as an extra package in Slackware version 9.1, but was not installed by default.[46] It has been removed from the distribution as of Slackware 10.0 but is still available as a community supported package.
  • slapt-get is a command line utility that functions in a similar way to APT. While slapt-get does provide a framework for dependency resolution, it does not provide dependency resolution for packages included within the Slackware distribution. However, several community package sources and Slackware based distributions take advantage of this functionality. Gslapt is a graphical interface to slapt-get.
  • NetBSD's pkgsrc provides support for Slackware, among other Unix-like operating systems. pkgsrc provides dependency resolution for both binary and source packages.
  • slackpkg is included since Slackware 12.2 as an automated package management tool for installing or upgrading packages but does not resolve dependencies between packages.

Repositories

Third-party projects may include more recent versions of software or software not provided by Slackware Linux.

pkgs.org is a Linux package search engine which also provides links to official and well-known third-party Slackware Linux repositories.

SlackBuilds.org is a community-supported project offering so called SlackBuilds to build extra software not included with Slackware. A SlackBuild mainly provides a shell script that builds a particular package on the user's system. This build process is nearly identical to the way Slackware's official packages are built. SlackBuilds have several advantages over pre-built packages: Since they build from the original author's source code, the user does not have to trust a third-party packager; furthermore the local compilation process allows for machine-specific optimization. In comparison to manual compilation and installation, SlackBuilds assure better integration into the user's system, inasmuch as they utilize Slackware's package system.

Since GNOME was dropped from Slackware Linux,[47] several community projects now provide GNOME binary packages and SlackBuilds for Slackware Linux. These include Dropline GNOME, GSB: GNOME SlackBuild, GWARE, Gnome-Slacky (Italian), and SlackBot.

Since Slackware has migrated in recent releases from KDE 3.5 to KDE Plasma Workspaces 4, there is an alternative for Slackware users who prefer using KDE 3.5 (Trinity desktop).[48]

Releases

Slackware's release policy can be said to follow a feature and stability based release cycle, in contrast to the time-bound (e.g., Ubuntu) or rolling release (e.g., Gentoo Linux) schemes of other Linux distributions.

As stated by Patrick Volkerding, "it's usually our policy not to speculate on release dates, since that's what it is — pure speculation. It's not always possible to know how long it will take to make the upgrades needed and tie up all the related loose ends. As things are built for the upcoming release, they'll be uploaded into the -current tree."[49]

Despite this conservative development paradigm the Slackware team aims to deliver up-to-date software, on at least an annual basis.[35] Thus, new versions are released continuously and within a reasonably foreseeable time frame. From its inception, Slackware had at least one release per year, with 2014 as the only exception. Release activity peaked in 1994, 1995, 1997 and 1999, when there were three releases per year. Starting with version 7.1 (22 June 2000) the release progression became more stable. There were two releases per year in only 2003, 2005 and 2008.

Slackware's latest 32bit x86 and 64bit x86_64 stable releases are at version 14.1 (released on 4 November 2013), which include support for Linux 3.10.17.[50]

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

x86 release history
Version Release date End-of-life date Kernel version
Old version, no longer maintained: 1.00[2] 1993-07-17 No EOL specified 0.99.11 Alpha
Old version, no longer maintained: 1.1 1993-11-05 No EOL specified 0.99.13
Old version, no longer maintained: 2.0 1994-07-02 No EOL specified 1.0.9
Old version, no longer maintained: 2.1 1994-10-31 No EOL specified 1.1.59
Old version, no longer maintained: 2.2 1995-03-30 No EOL specified 1.2.1
Old version, no longer maintained: 2.3 1995-05-24 No EOL specified 1.2.8
Old version, no longer maintained: 3.0 1995-11-30 No EOL specified 1.2.13
Old version, no longer maintained: 3.1 1996-06-03 No EOL specified 2.0.0
Old version, no longer maintained: 3.2 1997-02-17 No EOL specified 2.0.29
Old version, no longer maintained: 3.3 1997-06-11 No EOL specified 2.0.30
Old version, no longer maintained: 3.4 1997-10-14 No EOL specified 2.0.30
Old version, no longer maintained: 3.5 1998-06-09 No EOL specified 2.0.34
Old version, no longer maintained: 3.6 1998-10-28 No EOL specified 2.0.35
Old version, no longer maintained: 3.9 1999-05-10 No EOL specified 2.0.37pre10
Old version, no longer maintained: 4.0 1999-05-17 No EOL specified 2.2.6
Old version, no longer maintained: 7.0 1999-10-25 No EOL specified 2.2.13
Old version, no longer maintained: 7.1 2000-06-22 No EOL specified 2.2.16
Old version, no longer maintained: 8.0 2001-07-01 No EOL specified 2.2.19
Old version, no longer maintained: 8.1 2002-06-18 2012-08-01[52] 2.4.18
Old version, no longer maintained: 9.0 2003-03-19 2012-08-01 2.4.20
Old version, no longer maintained: 9.1 2003-09-26 2012-08-01 2.4.22
Old version, no longer maintained: 10.0 2004-06-23 2012-08-01 2.4.26
Old version, no longer maintained: 10.1 2005-02-02 2012-08-01 2.4.29
Old version, no longer maintained: 10.2 2005-09-14 2012-08-01 2.4.31
Old version, no longer maintained: 11.0 2006-10-02 2012-08-01 2.4.33.3
Old version, no longer maintained: 12.0 2007-07-01 2012-08-01 2.6.21.5
Old version, no longer maintained: 12.1 2008-05-02 2013-12-09[53] 2.6.24.5
Old version, no longer maintained: 12.2 2008-12-10 2013-12-09[54] 2.6.27.7
Older version, yet still maintained: 13.0 2009-08-26 No EOL announced 2.6.29.6
Older version, yet still maintained: 13.1 2010-05-24 No EOL announced 2.6.33.4
Older version, yet still maintained: 13.37 2011-04-27 No EOL announced 2.6.37.6
Older version, yet still maintained: 14.0 2012-09-28 No EOL announced 3.2.29
Current stable version: 14.1 2013-11-04 No EOL announced 3.10.17
Latest preview version of a future release: -current rolling 4.1.15[55]
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release

Support

Currently, Slackware has no officially stated support term policy. However, on 14 June 2012, notices appeared in the changelogs for versions 8.1,[56] 9.0, 9.1, 10.0, 10.1, 10.2, 11.0, and 12.0 stating that, effective 1 August 2012, security patches would no longer be provided for these versions. The oldest release, version 8.1, was released on 18 June 2002 and had over 10 years of support before reaching EOL. Later, on 30 August 2013, announcements were made on the changelogs of 12.1[57] and 12.2 stating their EOL on 9 December 2013. It was stated in the changelog entries that they had at least 5 years of support. As of November 2015, there have been no announcements from the Slackware team on when any versions of Slackware from 13.0 and up will be EOL.

While there has been no official announcements for versions prior to 8.1, they are no longer maintained and are effectively EOL.

Hardware architectures

Slackware has traditionally concentrated solely on the IA-32 architecture and previous releases were available as 32-bit only. Users wanting 64-bit were required to use unofficial ports such as slamd64. As of Slackware 13.0, a 64-bit x86-64 variant is available and officially supported in symmetrical development with the 32-bit platform.

Slackware is also available for the ARM architecture in the form of Slackware ARM (originally known as 'ARMedslack') and for IBM S/390. Both ports have been declared "official" by Patrick Volkerding,[58][59] but the S/390 port is still at version 10.0 for the stable version and 11.0 for the testing/developmental version, and has had no updates since 2009.[60][61]

Distribution

Slackware 14.1 can be ordered from the official Slackware store as a 6-CD set or as a single DVD. The CD set is targeted at the IA-32 platform but also runs on x86_64 processors in 32-bit mode. The DVD contains both the IA-32 distribution and a 64-bit x86_64 version.

Slackware ISO images for the CD set and the DVD can also be downloaded via BitTorrent or from various FTP and HTTP mirrors.

The distributions of the ports for the ARM architecture and for IBM S/390 are neither available as CD/DVDs nor as ISO images, but can be downloaded. Slackware S/390 installs from a DOS Partition or from floppy disk.[62] Slackware ARM does not distribute ISO files because most ARM devices can not boot from a CD or DVD.[63] Instead, it is installed off a network, using Das U-Boot and a TFTP boot server[64] or from a mini-root filesystem.[65] Slackware ARM can also be installed on a PC running QEMU[66] using the same technique.

Use

Slackware family tree

DistroWatch shows a decreasing but still substantial visitor's interest regarding Slackware: In 2002 the Slackware page was ranked as number 7, but dropped to number 10 by 2005. In 2006 it reached number 9, whereas since then being constantly below the ten most popular pages. In 2010 it had been listed as number 11, in the years 2011 and 2012 as number 12.

See also

References

  1. ^ a b FreeSlack, a project to document all non-free software in the Slackware distribution.
  2. ^ a b c Patrick J. Volkerding <bf703@cleveland.Freenet.Edu> (17 Jul 1993). "ANNOUNCE: Slackware Linux 1.00". Newsgroupcomp.os.linux. Usenet: 227gd4$jtq@usenet.INS.CWRU.Edu. Retrieved 5 December 2014.{{cite newsgroup}}: CS1 maint: numeric names: authors list (link)
  3. ^ Slackware Release Announcement, The Slackware Linux Project, 7 November 2013
  4. ^ SUSE distributions (Slackware-based)
  5. ^ Slackware-based Linux Distributions
  6. ^ Distrowatch.com. "Top Ten Distributions".
  7. ^ General Information at Slackware's website
  8. ^ Slackware Inc. "Slackware FAQ: Slackware Linux has a reputation for being tough for newbies. Is this true?".
  9. ^ Datamation. "Top Linux Distros For Every Level User".
  10. ^ Linux.org. "Which Distro is Right for Me?".
  11. ^ Tech Radar. "Power user Linux distros: 5 reviewed and rated".
  12. ^ IT Pro. "Slackware Linux - Less is more".
  13. ^ PC World. "A Guide to Today's Top 10 Linux Distributions".
  14. ^ a b c Hughes, Phil (1 April 1994). "Interview with Patrick Volkerding". Linux Journal. Retrieved 3 July 2007.
  15. ^ A Short History of Linux Distributions at LWN.net
  16. ^ Stefan Strobel; Volker Elling (1 January 1997). LINUX. Springer. pp. 82–83. ISBN 978-0-387-94880-5. Retrieved 4 August 2013.
  17. ^ Slackware Release Announcement, The Slackware Linux Project
  18. ^ README.210 Slackware Release 2.1
  19. ^ CDROM.txt file in the Slackware 3.0 repository
  20. ^ Change log of Slackware 3.1
  21. ^ 2002-2012 Andrew Maltsev, 2012-2013 Derek J. Curtis. "Linux Slackware 96 - ISBNdb.com - Book Info". Retrieved 26 May 2015.{{cite web}}: CS1 maint: numeric names: authors list (link)
  22. ^ Frequently Asked Questions, The Slackware Linux Project
  23. ^ Announcement of Slackware 8.0
  24. ^ Release Notes for Slackware 9.1
  25. ^ Change log of Slackware 10.0
  26. ^ Change log of Slackware 10.2
  27. ^ a b c Release notes of Slackware 12.0
  28. ^ Change log of Slackware64 13.0 See entry Tue May 19 15:36:49 CDT 2009
  29. ^ CHANGES_AND_HINTS.TXT file of Slackware 13.1
  30. ^ Announcement of Slackware 13.1
  31. ^ Change log of Slackware 13.37
  32. ^ Package additions/removals
  33. ^ Kroah-Hartman, Greg (4 August 2013). "Longterm Kernel 3.10". kroah.com. Retrieved 22 September 2014. ..."longterm stable" kernel release every year, and maintain that kernel release for at least two years.
  34. ^ Slackware Linux Basics, Chapter 2
  35. ^ a b c History of Slackware Development
  36. ^ a b "Slackware Alumni". slackware.com. Retrieved 20 September 2014.
  37. ^ "Stories of Linux: A Look at Slackware Linux". linux.com.
  38. ^ Announcement of Slackware 4.0
  39. ^ Announcement of Slackware 8.1
  40. ^ "The Revised Slackware Book Project". Retrieved 26 May 2015.
  41. ^ Release notes of Slackware 10.0
  42. ^ Release notes of Slackware 10.1
  43. ^ Info about changes in Slackware 12.2 at Slackware's website
  44. ^ "The Slackware Linux Project: Slackware ChangeLogs". Retrieved 26 May 2015.
  45. ^ "Building a Slackware Package".
  46. ^ "The Slackware Linux Project: Slackware Release Announcement". Retrieved 26 May 2015.
  47. ^ Change log of Slackware 10.2, Sat Mar 26 23:04:41 PST 2005
  48. ^ Trinity desktop and Slackware
  49. ^ "The Slackware Linux Project: Frequently Asked Questions". Retrieved 26 May 2015.
  50. ^ "The Slackware Linux Project: Slackware Release Announcement". Retrieved 26 May 2015.
  51. ^ "The Slackware Linux Project: Slackware ChangeLogs". Retrieved 26 May 2015.
  52. ^ 8.1 ChangeLog.txt
  53. ^ 12.1 ChangeLog.txt
  54. ^ 12.2 ChangeLog.txt
  55. ^ "The Slackware Linux Project: Slackware ChangeLogs". Retrieved 15 Dec 2015.
  56. ^ Change log of Slackware 8.1
  57. ^ Change log of Slackware 12.1
  58. ^ Stuart Winter. "Slackware ARM". Retrieved 26 May 2015.
  59. ^ "The Slackware Linux Project: Slackware Ports". Retrieved 26 May 2015.
  60. ^ Change log of Slack390
  61. ^ Change log of Slack390x
  62. ^ "Search results for "slack390"". Retrieved 26 May 2015.
  63. ^ Stuart Winter. "Slackware ARM: Get Slack". Retrieved 26 May 2015.
  64. ^ "Slackware Arm: Installation". Retrieved 28 May 2015.
  65. ^ README.txt file for mini-root filesystem, Slackware ARM
  66. ^ Installation instructions for Slackware ARM (Qemu)