Slackware
| Company type | Linux distribution |
|---|---|
| Industry | Software |
| Founded | 1993 |
| Founder | Patrick Volkerding |
| Products | Linux distribution |
Slackware is a Linux distribution developed by Patrick Volkerding in 1993. It originated from the Softlanding Linux System (SLS) and has served as an inspiration for numerous other Linux distributions, including early versions of SUSE Linux. Slackware holds the distinction of being the longest continuously maintained Linux distribution.
Focusing on stability and simplicity in its design, Slackware strives to be the most "Unix-like" among Linux distributions. It minimizes alterations to original software packages and refrains from imposing usage scenarios or limiting user options. Unlike many contemporary distributions, Slackware does not include a graphical installation interface or automated dependency management; instead, it uses straightforward text configuration files combined with a modest collection of shell scripts. The system boots directly into a command-line interface, catering primarily to users with advanced technical knowledge.
Slackware supports multiple architectures, including IA-32, x86_64, and ARM. Although it mainly consists of free and open-source components, Slackware does not operate a formal bug tracking system nor maintains a public code repository. New versions are released intermittently by Volkerding, who remains the chief developer without an official developer membership structure.
Name
The term "Slackware" was originally chosen as a tongue-in-cheek title since the project began as a casual, non-committal endeavor. Patrick Volkerding selected this name to temper expectations, yet it endured as the project grew into a substantial undertaking.
The name "Slackware" alludes to the "pursuit of Slack," a concept from the satirical Church of the SubGenius religion, which also influenced some of Slackware’s visual elements—such as Tux depicted smoking a pipe resembling J. R. "Bob" Dobbs’ iconography. Various releases include references to this parody religion within the install.end text files that conclude software series installations, often encoded with ROT13 in recent versions like Slackware 14.1.
Origins
Slackware was built upon Softlanding Linux System (SLS), which was the first comprehensive Linux distribution providing more than just the kernel and core utilities; it included an X11 graphical environment, TCP/IP networking, UUCP support, and GNU Emacs.
Patrick Volkerding’s involvement began while he was searching for a LISP interpreter for an academic project at Moorhead State University. After obtaining SLS to run CLISP, he helped his artificial intelligence professor install Linux and documented various fixes for issues encountered in SLS. Since applying these corrections manually was laborious, Volkerding incorporated them into the installation process—thus creating Slackware. He improved SLS by addressing bugs, updating software packages, automating shared library and kernel setup, and fixing file permissions, upgrading approximately fifty percent of the included packages.
Although initially hesitant to release his customized version publicly, Volkerding proceeded after receiving positive feedback from the community and authorization from the university system administrator. The inaugural Slackware version 1.00 was released on July 17, 1993, distributed as twenty-four 3½" floppy disk images. The release caused significant FTP server overload until additional archive space was provided by Walnut Creek CDROM.
Development
Slackware's footprint expanded swiftly with the addition of new software; by the time version 2.1 was released in October 1994, the distribution comprised seventy-three floppy disk images sized at 1.44 MB each.
In 1999, Slackware skipped versions 5 and 6, advancing directly from 4 to 7. This move aimed to align with competing distributions and dispel notions of obsolescence, as many rivals had reached release number 6 by then. This version leap was a deliberate marketing strategy implemented by Volkerding.
April 2004 marked the introduction of X.Org Server packages into Slackware’s testing branch, replacing XFree86 due to compatibility challenges. By May, X.Org had become the default display server in Slackware 10.0.
The GNOME desktop environment was removed from Slackware in March 2005 after prolonged consideration. This decision stemmed from the emergence of more actively maintained GNOME forks and community-driven alternatives such as Cinnamon, Dlackware, Dropline GNOME, MATE, and SlackMATE, signaling a notable shift in Slackware’s desktop environment policy.
In May 2009, Volkerding unveiled Slackware64, an official x86_64 edition supported alongside the IA-32 version. This variant is a pure 64-bit system but designed to be "multilib-ready." Eric Hameleers maintains a multilib repository that facilitates running 32-bit applications. Hameleers began this porting effort during his recovery from surgery in 2008; Volkerding reported performance gains ranging from 20 to 40 percent on certain benchmarks. The build scripts (SlackBuilds) were modified to accommodate both architectures using a single source base. Slackware64’s inaugural stable release was version 13.0.
Between the launch of version 14.1 in November 2013 and June 2016, Slackware experienced its longest interval between releases—31 months—including a development hiatus lasting 47 days. In April 2015, Volkerding issued an apology for the delay, noting that over 700 software packages had been updated alongside significant library upgrades during this period. In January 2016, he announced the reluctant adoption of PulseAudio due to BlueZ ceasing direct ALSA support and other projects dropping support for BlueZ v4.x—acknowledging that this change might displease some users. These developments culminated in the release of Slackware 14.2 in June 2016.
Historical documentation
David Cantrell, a key member of the Slackware team between 1999 and 2001, recounted his experiences during that period on the Slackware ARM Vlog. Additional perspectives were provided by Patrick Volkerding through two interviews.
Design philosophy
The core philosophy behind Slackware centers on simplicity, maintaining software integrity with minimal alterations to upstream sources. This approach embodies traditional Unix simplicity and adheres to the KISS (Keep It Simple, Stupid) principle. Here, "simple" pertains to system architecture rather than user-friendliness; those unfamiliar with command-line operations may encounter a steep learning curve, while users accustomed to Unix environments benefit from an unabstracted system experience. Most included software retains original configuration methods, complemented by select distribution-specific administrative tools.
Development model
Slackware operates without a formal issue tracking system or public code repository. Contributions and bug reports are handled through informal channels, with all final release decisions resting solely with Patrick Volkerding, Slackware’s benevolent dictator for life.
Originally developed exclusively by Volkerding, the team expanded starting with version 4.0 to incorporate David Cantrell and Logan Johnson. Subsequent releases up to version 8.1 saw Chris Lumens join the effort as well. Cantrell, Johnson, and Lumens co-authored Slackware Linux Essentials, the official guide for the distribution. The Slackware website lists Lumens and Cantrell as "Slackware Alumni" who contributed full-time.
Volkerding has recognized Eric Hameleers’ contributions toward USB, PCI, and Cardbus wireless support introduced in versions 10.0 and 10.1. From version 12.0 onward, development staff expanded further; by version 12.2 the team consisted of seven members, with additional contributors joining in later releases. Since version 13.0, Slackware has maintained a core development team whose history is detailed by Hameleers in his 2009 essay on Slackware’s development evolution.
Management
The package management framework in Slackware, known as pkgtools, is responsible for handling (), installing (), upgrading (), and removing () packages sourced locally. Additionally, it can both decompress () and create () package files. The principal network update utility, , was originally created by Piter Punk as an unofficial updater and has been part of the official distribution since Slackware 12.2, having previously appeared in since version 9.1. When upgrading, the process installs the updated package over the existing one and eliminates outdated files. After using for installation, packages can be administered with or other related commands. Notably, only verifies version differences and permits downgrades if necessary.
Slackware packages are distributed as tarballs compressed using various algorithms. Since version 13.0, the predominant compression method is xz, denoted by the file extension; prior releases mainly employed gzip compression with . Although support exists for bzip2 and lzip (.tbz and .tlz formats), their use remains uncommon.
Each package contains all necessary program files plus metadata stored within a dedicated directory. This typically includes a file that describes the software and a script executed post-installation to manage symbolic links, permissions, configuration settings, and other installation procedures beyond mere directory placement. Starting with version 15.0, an optional uninstall script is supported, enabling maintainers to run commands upon package removal.
The package manager keeps a local database distributed across several directories. On systems up to version 14.2, this database resides in , but from version 15.0 onward, some folders were relocated to to prevent accidental deletion during log clearing operations. Each installed package has associated and directories: the former logs installation details such as package size, description, and file locations; the latter stores any post-installation scripts for future reference. Removed packages and scripts are archived in and , respectively, which since version 15.0 have been moved to . Systems that support place uninstall scripts in during installation; following removal, these scripts are transferred to .
Dependency resolution
Slackware's package management does not inherently track or manage dependencies. A complete installation fulfills all dependencies required by standard packages; however, when installing custom or third-party software, users must manually verify that all necessary libraries and programs are present. The package manager installs packages regardless of dependency status, so missing dependencies might only become evident when attempting to run the software.
While Slackware lacks built-in tools for dependency resolution, several community-developed utilities provide similar capabilities akin to APT (Debian) or yum (Red Hat):
- slapt-get: a command-line utility offering a dependency resolution framework; although it does not resolve dependencies for official Slackware packages, it is employed by some community repositories and Slackware-derived distributions. Its graphical frontend is called Gslapt.
- Swaret: initially included as an optional package in Slackware 9.1 without dependency management features, it was removed in version 10.0 and handed over to community maintenance. It subsequently incorporated dependency resolution and rollback functionalities but has lacked active development since 2014.
- pkgsrc: NetBSD's packaging system supports Slackware alongside other Unix-like operating systems, providing dependency resolution for both binary and source packages.
Repositories
Slackware does not maintain official package repositories beyond what is included on its installation media. Instead, a variety of third-party repositories and distributions built on Slackware offer compatible software packages. These packages can be collectively searched through pkgs.org, a comprehensive Linux package search platform. Users should exercise caution when combining packages from multiple sources, as Slackware does not provide automatic dependency management, potentially leading to conflicts. Some third-party projects address this by supplying dependency lists alongside their packages, often using a extension.
To mitigate such dependency issues, many users prefer compiling software themselves using community-developed SlackBuild scripts. These are shell scripts designed to create installable Slackware packages from source tarballs. Additionally, SlackBuilds can repackage pre-compiled binaries into proper Slackware package format. Compiling from source provides benefits such as direct trust in the original codebase and the ability to optimize for specific hardware. Compared to manual compilation, SlackBuilds integrate seamlessly with Slackware’s native package management system. Certain SlackBuilds include metadata files that facilitate automated downloading, verification, and dependency resolution. Some repositories offer both SlackBuild scripts and pre-compiled binaries, giving users flexibility in installation methods.
The sole officially recognized SlackBuild repository is SlackBuilds.org (SBo), a community-driven initiative hosting scripts for software not included in Slackware’s official distribution. Contributors submit new SlackBuild scripts and assume the role of maintainers, responsible for keeping packages updated and ensuring compatibility with upstream versions. Dependencies absent from Slackware must be documented and accessible on the site. Every submission undergoes administrator review to verify that build procedures closely follow official Slackware packaging standards, enabling founder Patrick Volkerding to incorporate them with minimal adjustments if desired. SBo also provides templates for both SlackBuild scripts and associated metadata files, encouraging maintainers to comply strictly with established guidelines.
Two members of the Slackware development team—Eric Hameleers and Robby Workman—maintain personal repositories containing pre-built packages alongside their respective SlackBuild scripts and source files. These repositories include additional software offerings and function as experimental platforms for upcoming Slackware releases. Notably, Hameleers manages the "Ktown" repository featuring newer KDE versions, as well as the "multilib" repository that allows Slackware64 users to build and run 32-bit applications.
Releases
Slackware’s release strategy emphasizes completeness of features and system stability rather than adhering to predetermined schedules. This approach contrasts with time-based release models like Ubuntu or rolling releases such as Gentoo Linux. Founder Patrick Volkerding publishes new versions only when a sufficient number of stable improvements have been accumulated, deliberately avoiding speculation about release dates.
In its early history, Slackware targeted at least one update annually, with particularly active periods during the mid to late 1990s when multiple releases occurred each year. Starting with version 7.1 (released June 22, 2000), the distribution settled into an approximate yearly release cadence, occasionally producing two releases within a single year (notably in 2003, 2005, and 2008). Since 2013, however, the pace of releases has slowed considerably; for instance, more than two years passed between versions 14.1 and 14.2, and over five years elapsed before version 15.0 was launched in February 2022.
The most recent stable editions of Slackware support both 32-bit x86 and 64-bit x86_64 architectures. Version 15.0 incorporates Linux kernel 5.15.19 along with contemporary core system enhancements including UTF-8 encoding support, KDE Plasma 5 desktop environment integration, migration to Python 3, and additions such as Vulkan SDK, FFmpeg multimedia framework, PAM authentication modules, and Wayland display server protocol.
Volkerding also maintains a development branch known as "-current," which acts as a staging area for testing new features prior to their inclusion in official stable releases; this branch is generally not advised for production use due to potential instability.
| Version | Release date | Kernel version | Noteworthy features |
|---|---|---|---|
| Template:Version | 1993-07-17 | 0.99.11 Alpha | Initial distribution launch | |||
| Template:Version | 1995-11-30 | 1.2.13 | Adopted ELF binary format; first CD-ROM based release | |||
| Template:Version | 2000-06-22 | 2.2.16 | Introduced GNOME desktop environment | |||
| Template:Version | 2009-08-26 | 2.6.29.6 | Official support for 64-bit architecture; transitioned to KDE4 desktop and xz compression | |||
| Template:Version |2013-11-04|3.10.x| Added UEFI boot support; replaced MySQL with MariaDB | |||
| Template:Version |2016-06-30|4.4.x| Integrated PulseAudio sound server and VDPAU; switched device management to eudev; adopted ConsoleKit2 | |||
| Template:Version |2022-02-02|5.15.x| Transitioned fully to Python 3; incorporated KDE Plasma5; upgraded core multimedia and security components |
Support
Slackware does not adhere to an official support duration policy. Nevertheless, changelogs beginning in June 2012 declared the termination of support for versions 8.1 through 12.0, with security updates ceasing after August 1, 2012. The 8.1 release from 2002 benefited from more than a decade of maintenance. Later releases, such as 12.1 and 12.2, reached their end-of-life status in December 2013, following a support span of at least five years. Versions 13.0, 13.1, and 13.37 were marked as EOL in July 2018, having been supported for periods between seven and nearly nine years. On October 9, 2023, it was announced that versions 14.0, 14.1, and 14.2 would be retired as of January 1, 2024.
Any editions preceding version 8.1 are no longer maintained and are considered obsolete.
Hardware architectures
Slackware initially targeted the IA-32 (32-bit) architecture but officially incorporated a x86_64 (64-bit) variant starting with version 13.0, allowing concurrent development alongside the original 32-bit system. Prior to this official release, community-driven projects such as slamd64 offered unofficial 64-bit support.
In addition to x86 platforms, Slackware has official versions for IBM S/390 (known as Slack/390) and ARM architectures (Slackware ARM). The S/390 port has not been updated since 2009 and remains at version 10.0 stable with version 11.0 in testing status. Development of Slackware ARM ceased for version 14.1 in September 2016; however, support for version 14.2 was extended beyond that point.
Enhancements in development tools during July 2016 facilitated easier upkeep of the ARM port, including the introduction of a hard-float (hardware floating-point) variant released in August of the same year.
Efforts to create a Slackware port for the ARM64 (AArch64) architecture commenced in December 2020, focusing on hardware like the PINE64 RockPro64 and Pinebook Pro devices. By May 2021, this port had reached functional completion with a simplified installation process. The public launch of the AArch64 port occurred in March 2022, supporting multiple ARM devices and accompanied by detailed installation manuals and video tutorials.
Official maintenance of the ARM 32-bit port concluded in March 2022 due to hardware constraints limiting Slackware’s advancement coupled with declining upstream application compatibility. The unofficial BonSlack initiative continues to provide updated ports across various architectures including ARMv5/ARMv7 (both soft and hard float), AArch64, MIPS, PowerPC, RISC-V, S/390x, SPARC, among others.
Slackware ARM version 14.2 was officially retired on March 1, 2023.
Slackintosh was a PowerPC adaptation of Slackware Linux aimed at Apple Macintosh New World ROM machines from the mid-1990s through the mid-2000s era. Its final release was version 12.1 in June 2008; development was halted in early 2012 with only minimal security patches applied thereafter before Patrick Volkerding formally declared its discontinuation in July 2021.
Distribution
Slackware version 14.2 was distributed via CD sets, single DVDs, and related merchandise through a third-party-operated Slackware store; however, due to issues with underpayment, founder Patrick Volkerding threatened to suspend the store’s DNS services. Initially partnering with Michael Johnston of Morse Telecommunications in 1994 for commercial distribution, Volkerding later collaborated with Robert Bruce of Walnut Creek CDROM—who eventually became a partner in Slackware Linux, Inc.—to manage publishing efforts. Financial disagreements have impacted Slackware’s income streams, leading Volkerding to explore alternative funding avenues such as Patreon.
Installation ISO image files for Slackware (approximately 2.6 GB) can be downloaded freely from the official Slackware website through BitTorrent networks as well as FTP and HTTP mirrors.
The IBM S/390 port (EOL: 2009) remains accessible for download and can be installed using DOS partitions or floppy disks.
The ARM architecture port is available for download and supports installation via network boot using Das U-Boot combined with TFTP servers or through a minimal root filesystem approach. It is also compatible with installation on PCs running QEMU employing similar methods.
Slackware AArch64 (ARM64) installations are performed directly from SD card images in a manner comparable to installing Slackware x86 from DVD media and are provided as generic bootable EFI ISO files.