Slackware facts for kids
![]() |
|
![]() Slackware 15.0 with KDE Plasma 5 as the desktop environment
|
|
Company / developer | Patrick Volkerding |
---|---|
OS family | Linux (Unix-like) (based on Softlanding Linux System) |
Working state | Current |
Source model | Open source |
Initial release | 17 July 1993 |
Latest stable release | 15.0 ![]() |
Available language(s) | Multilingual |
Update method | pkgtool, slackpkg |
Package manager | pkgtool, slackpkg |
Supported platforms | IA-32, x86-64, ARM |
Kernel type | Monolithic (Linux) |
Userland | GNU |
Default user interface | CLI |
License | GNU General Public License |
Slackware is a type of Linux distribution, which is like a complete computer operating system. It was created by a person named Patrick Volkerding in 1993. Slackware was first based on something called Softlanding Linux System (SLS). It's special because it's one of the oldest Linux systems that is still being updated today! Many other Linux systems, like early versions of SUSE Linux, were built using Slackware as a starting point.
Slackware is designed to be very stable and simple. It tries to be as much like Unix as possible, which is an older, very reliable computer system. It doesn't change the original software much and lets users make most decisions. Unlike many modern Linux systems, Slackware doesn't have a fancy graphical installer where you click buttons. You install it using text commands. It also doesn't automatically find and install other programs it needs. You have to do that yourself.
Slackware uses simple text files and a few scripts for setting things up. When you start it, it usually goes straight to a command-line interface, which is a text-based screen. Because it's so traditional and simple, Slackware is often best for people who already know a lot about Linux and computers.
You can use Slackware on different types of computers, including those with IA-32 and x86-64 processors. There's also a version for ARM processors, which are found in many mobile devices. Even though Slackware is mostly free and open-source, it doesn't have a formal system for tracking bugs or a public place where its code is stored. Patrick Volkerding usually announces new versions himself. He is also the main person who adds new things to Slackware.
Contents
What's in a Name?
The name "Slackware" comes from a funny idea. When Patrick Volkerding first started working on it, it was just a small side project. He didn't plan for it to become a big deal. To make sure people didn't take it too seriously at first, he gave it a funny name. That name stuck, even after Slackware became a very important project.
The name "Slackware" is a nod to the "pursuit of Slack," which is a funny idea from a parody religion called the Church of the SubGenius. You can see hints of this humor in some Slackware pictures, like the pipe that the Tux penguin is smoking. This is inspired by a character named J. R. "Bob" Dobbs.
Sometimes, you can find a funny message related to the Church of the SubGenius in the install.end text files. These files tell the setup program when a software part is finished. In newer versions, like Slackware 14.1, this text is hidden using a simple code called ROT13.
How Slackware Started
The Beginning
Slackware was first created from the Softlanding Linux System (SLS). SLS was a very popular early Linux system. It was one of the first to offer a lot of software, not just the basic parts. This included a graphical interface called X11, internet tools like TCP/IP, and other useful programs like GNU Emacs.
Patrick Volkerding started using SLS because he needed a LISP program for a school project. He found a LISP program called CLISP that worked on Linux and downloaded SLS to run it. A few weeks later, his professor asked him to help install Linux at home and on school computers. Patrick had written down ways to fix problems he found with SLS. They used his notes to fix the new installations, but it took a long time. So, his professor asked if the installation disks could be changed to include the fixes automatically. This was the start of Slackware!
Patrick kept making SLS better. He fixed bugs, updated software, and made sure shared libraries and the main system image installed correctly. Soon, he had updated about half of the programs beyond what SLS offered.
At first, Patrick didn't plan to share his improved SLS with everyone. His friends at the university told him to put his changes on an FTP server. But Patrick thought SLS would release a new version with these fixes soon. After a few weeks, many SLS users online were asking for a new release. So, Patrick posted a message asking, "Anyone want an SLS-like 0.99pl11A system?" He got many positive replies.
After talking to the university's computer administrator, Patrick got permission to upload Slackware to their FTP server. The very first Slackware release, version 1.00, came out on July 17, 1993. It was made up of twenty-four 3½-inch floppy disk images. After he announced it, so many people tried to download it that the server kept crashing! Soon, a company called Walnut Creek CDROM offered more space on their FTP servers.
Growing Up
Slackware quickly grew as more software was added. By version 2.1, released in October 1994, it had more than tripled in size. It needed seventy-three 1.44MB floppy disk images!
In 1999, Slackware's version number jumped from 4 to 7. Other Linux systems had higher version numbers, which made some people think Slackware was old, even though its software was up-to-date. Patrick Volkerding decided to jump the version number to show that Slackware was current. He chose 7, thinking other systems would soon reach that number.
In April 2004, Patrick Volkerding started including X.Org Server in the testing area of Slackware. This was meant to replace XFree86, which was being used at the time. He asked for ideas on what to do with the X Window System in Slackware. A month later, he officially switched from XFree86 to X.Org Server. He said most people wanted the change, and XFree86 was causing problems. Slackware 10.0 was the first version to use X.Org Server.
In March 2005, Patrick Volkerding announced that the GNOME desktop environment would be removed from Slackware. He had thought about this for a long time. He noted that other projects already offered better GNOME versions for Slackware than what Slackware itself provided. Patrick said that future GNOME support would depend on the community. The community responded, and as of October 2016, there are several active GNOME projects for Slackware, like Cinnamon and MATE. This removal was a big deal to some in the Linux world because GNOME was very popular in many other systems.
In May 2009, Patrick Volkerding announced a public test version of an official 64-bit Slackware, called Slackware64. This version would be updated alongside the 32-bit one. Slackware64 is purely 64-bit and doesn't directly support 32-bit programs. However, it was designed to be "multilib-ready," meaning it could be set up to run 32-bit programs. Eric Hameleers, a key Slackware team member, created a special collection of packages to make Slackware64 able to run 32-bit software. He started this 64-bit project as a way to keep busy while recovering from surgery. Patrick Volkerding tested it and was impressed, seeing some programs run 20 to 40 percent faster than on the 32-bit version. To make it easier to maintain both versions, Slackware's build scripts (called SlackBuilds) were changed to work for both 32-bit and 64-bit systems. Slackware64's first stable release was version 13.0.
Between November 2013 and June 2016, there was a 31-month gap between Slackware releases. This was the longest gap in its history. During this time, the development version didn't get updates for 47 days. However, on April 21, 2015, Patrick Volkerding apologized for the lack of updates. He said the team used the time to do "some good work." Over 700 program changes were listed, including many major library updates. In January 2016, Patrick reluctantly added PulseAudio. This was mainly because another program, BlueZ, stopped directly supporting ALSA. He knew some users wouldn't be happy, so he joked that "Bug reports, complaints, and threats can go to me." All these changes led to the release of Slackware 14.2 in June 2016.
How Slackware is Designed
Slackware's design is all about simplicity, keeping software pure, and not changing the original source code much. Many of its design choices come from the simple way traditional Unix systems work. It follows the KISS principle, which means "Keep It Simple, Stupid!"
In this case, "simple" means the system's design is straightforward, not that it's easy to use for everyone. If you're not used to text commands or classic Unix tools, learning Slackware might be challenging. But if you already know Unix, you might find it easier because it's less complicated. Slackware tries to use the original setup tools provided by the software creators. However, for some important tasks, it does have its own special tools.
How Slackware is Developed
Slackware doesn't have a formal system for tracking problems or a public place for its code. There's no official way to become a developer. Bug reports and contributions are handled informally. All the final decisions about what goes into a Slackware release are made by Patrick Volkerding, who is like the main leader of the project.
Patrick Volkerding developed the first versions of Slackware by himself. Later, other people joined what became known as the "Slackware team." These included David Cantrell and Logan Johnson, and later Chris Lumens. These people also wrote the first official guide to Slackware Linux. The Slackware website mentions Chris Lumens and David Cantrell as "Slackware Alumni" who worked full-time on the project for several years. In his notes for Slackware 10.0 and 10.1, Patrick thanked Eric Hameleers for his work on supporting wireless cards. Starting with version 12.0, a new team began to form around Patrick. The team has grown over time, and since version 13.0, there are core members. Eric Hameleers wrote about the "History of Slackware Development" in 2009, giving a look into the core team.
Software Packages
Managing Programs
Slackware has its own system for managing software packages, called pkgtools. These tools let you install (installpkg), update (upgradepkg), and remove (removepkg) programs from your computer. You can also unpack (explodepkg) and create (makepkg) packages.
The official tool for updating Slackware over the internet is slackpkg. It was first created by Piter Punk as an unofficial way to keep Slackware updated. It became an official part of Slackware in version 12.2. When you update a package, the new version is installed over the old one. Any files that are no longer needed are removed. If you use upgradepkg, it just checks if the version numbers are different, so you can even go back to an older version if you want.
Slackware packages are like compressed bundles of files, often called tarballs. Since version 13.0, most packages are compressed using xz (ending with .txz). Before that, they used gzip (ending with .tgz). They also support other compression types like bzip2 (.tbz) and lzip (.tlz), but these are not used as often.
Packages contain all the files for a program, plus extra information for the package manager. The package tarball has the full folder structure of the files. It's designed to be unpacked into the computer's main root directory during installation. Inside the tarball, there's a special install/ folder with more information. This usually includes a slack-desc file, which is a text file that describes the software. There's also often a doinst.sh file, which is a shell script that runs after the package is unpacked. This script can create shortcuts, keep file permissions correct, handle new settings files, and do other things needed for installation. In version 15.0, a new douninst.sh script was added. This script runs when a package is removed or updated, allowing package creators to run commands during uninstallation.
The package manager keeps a local record of installed programs on your computer. In older versions (14.2 and earlier), this record was mostly in /var/log/. But in version 15.0, some parts were moved to /var/lib/pkgtools/ to prevent them from being accidentally deleted when cleaning up system logs. Each Slackware installation has packages/ and scripts/ folders in the main record location. The packages/ folder contains a log file for each installed package. This log file shows the package size, description, and a list of all installed files. If a package had a doinst.sh script, its contents are saved in the scripts/ folder. When a package is removed or updated, its old log files and scripts are moved to removed_packages/ and removed_scripts/. This lets you see what was installed before and when it was removed. These "removed" folders were also moved in version 15.0 to /var/log/pkgtools/. If a package has a douninst.sh uninstall script, it's stored in /var/lib/pkgtools/douninst.sh/ while the package is installed. Once removed, it moves to /var/log/pkgtools/removed_uninstall_scripts/.
Finding Missing Parts
Slackware's package system doesn't automatically find or manage dependencies. Dependencies are other programs or libraries that a program needs to work. If you do a full installation of Slackware, all the needed parts for the standard programs are included. But if you install only certain parts or add programs from other places, you'll need to make sure your system has all the supporting programs and libraries. Slackware doesn't provide official lists of what each program needs. So, if you install something new, you might have to figure out any missing dependencies yourself. The package manager will install any package, even if it's missing parts. You might only find out something is missing when you try to use the program.
While Slackware doesn't have official tools to find dependencies, some unofficial tools created by the community can help. These are similar to how APT works for Debian systems or yum for Red Hat systems. Some of these tools include:
- slapt-get: This is a command-line tool that works like APT. It can help with dependencies, but not for the packages that come with Slackware itself. However, some community package sources use this feature. Gslapt is a graphical version of slapt-get.
- Swaret: This tool also helps with dependencies. It was included in Slackware 9.1 as an optional package but didn't have dependency resolution then. It was removed from Slackware 10.0 and given to the community. It later added dependency resolution, but as of May 2014, no one is actively working on it.
- NetBSD's pkgsrc: This system supports Slackware and other Unix-like operating systems. It helps find dependencies for both ready-to-use programs and programs you compile yourself.
Where to Find Programs
There are no official places (repositories) for Slackware programs. The only official packages come with the installation media. However, many other groups offer programs for Slackware. Some are separate, and others are for systems based on Slackware that still work with Slackware packages. You can search many of these at once using pkgs.org. But be careful: mixing programs from different places can sometimes cause problems if they need different versions of the same dependency. This is called "dependency hell." Slackware itself won't fix these problems for you. Some projects will list the dependencies not included with Slackware, often in a file ending with .dep.
Because of possible dependency issues, many users choose to build their own programs using community-made SlackBuilds. SlackBuilds are scripts that create a Slackware package from a program's original source code. Since they are scripts, they can also repackage programs that are already compiled into proper Slackware packages. Building from source code has advantages: you don't have to trust a third-party packager, and the program can be optimized for your specific computer. Compared to manually building and installing software, SlackBuilds make it easier to integrate programs into your Slackware system. Some SlackBuilds come with extra information that allows automated tools to download the source, check if it's corrupted, and figure out other dependencies not part of Slackware. Some repositories offer both SlackBuilds and the ready-to-use packages.
The only officially supported SlackBuilds repository is SlackBuilds.org, often called SBo. This is a community project that offers SlackBuilds for software not included with Slackware. Users can submit new SlackBuilds, and once approved, they become the "package maintainer." They are then responsible for updating the SlackBuilds. To make sure all programs can be built, any needed dependencies not included with Slackware must be listed and available on the site. All submissions are tested by the site's administrators before being added. The administrators want the build process to be very similar to how Slackware's official packages are built. This makes it easier for Patrick Volkerding to include these SlackBuilds in regular Slackware with few changes. It also stops users from asking Patrick to change his scripts to match SBo's. SBo provides templates for SlackBuilds and the extra information files, and they encourage maintainers to stick to them.
Two Slackware team members, Eric Hameleers and Robby Workman, each have their own collections of pre-compiled packages, along with the SlackBuilds and source files used to create them. Most of these are just extra software they think is worth maintaining. Some packages are used for testing future Slackware updates. For example, Hameleers provides "Ktown" packages for newer versions of KDE. He also maintains Slackware's "multilib" collection, which lets Slackware64 run and compile 32-bit programs.
Release Schedule
Slackware releases new versions based on new features and stability, not on a set time schedule like Ubuntu or Gentoo Linux. This means there's no exact date for when a new version will come out. Patrick Volkerding releases the next version when he feels enough changes have been made from the previous one, and those changes make the system stable. As he puts it, "It's usually our policy not to speculate on release dates... 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."
Historically, Slackware tried to release updated software at least once a year. From its start until 2014, there was at least one release every year. Release activity was highest in 1994, 1995, 1997, and 1999, with three releases each year. After version 7.1 (June 22, 2000), releases became more regular, usually once a year. Only 2003, 2005, and 2008 had two releases. However, since Slackware 14.1 in 2013, new releases have slowed down a lot. There was over a 2-year gap between 14.1 and 14.2, and over a 5-year gap to 15.0. When 15.0 was released, Patrick Volkerding said that Slackware 15.1 would hopefully come out much faster because the "tricky parts" were already solved during 15.0's development.
Slackware's latest stable versions for 32-bit and 64-bit computers are both 15.0, released on February 2, 2022. They include support for Linux kernel 5.15.19.
Patrick Volkerding also maintains a testing version of Slackware called "-current." This version is for people who want the very latest updates. This version will eventually become the next stable release. While "-current" is usually stable, things can sometimes break, so it's not recommended for important systems.
Version | Release date | End-of-life date | Kernel version | Notable changes |
---|---|---|---|---|
7/93 | 1993-07-17 | No EOL specified | 0.99.11 Alpha | |
11/93 | 1993-11-05 | No EOL specified | 0.99.13 | |
3/94 | 1994-03-19 | No EOL specified | 1.0.8 | |
7/94 | 1994-07-02 | No EOL specified | 1.0.9 | |
11/94 | 1994-10-31 | No EOL specified | 1.1.59 | |
4/95 | 1995-03-30 | No EOL specified | 1.2.1 | |
6/95 | 1995-05-24 | No EOL specified | 1.2.8 | |
12/95 | 1995-11-30 | No EOL specified | 1.2.13 | Changed from a.out to Executable and Linkable Format (ELF); first version on CD-ROM |
6/96 | 1996-06-03 | No EOL specified | 2.0.0 | Called "Slackware 96", like Windows 95 |
2/97 | 1997-02-17 | No EOL specified | 2.0.29 | |
6/97 | 1997-06-11 | No EOL specified | 2.0.30 | |
3.4 | 1997-10-14 | No EOL specified | 2.0.30 | Introduced ZipSlack |
3.5 | 1998-06-09 | No EOL specified | 2.0.34 | |
3.6 | 1998-10-28 | No EOL specified | 2.0.35 | |
3.9 | 1999-05-10 | No EOL specified | 2.0.37pre10 | |
4.0 | 1999-05-17 | No EOL specified | 2.2.6 | First version needing 1GB for full install; added KDE |
7.0 | 1999-10-25 | No EOL specified | 2.2.13 | |
7.1 | 2000-06-22 | No EOL specified | 2.2.16 | Added GNOME |
8.0 | 2001-07-01 | No EOL specified | 2.2.19 | Added Mozilla Browser and optional Linux 2.4 |
8.1 | 2002-06-18 | 2012-08-01 | 2.4.18 | Changed package naming; improved setup tools |
9.0 | 2003-03-19 | 2012-08-01 | 2.4.20 (patched to 2.4.21) |
|
9.1 | 2003-09-26 | 2012-08-01 | 2.4.22 (patched to 2.4.26) |
Switched from OSS to ALSA for sound |
10.0 | 2004-06-23 | 2012-08-01 | 2.4.26 | Switched from XFree86 to X.org Server for graphics |
10.1 | 2005-02-02 | 2012-08-01 | 2.4.29 | |
10.2 | 2005-09-14 | 2012-08-01 | 2.4.31 | Removed GNOME desktop environment |
11.0 | 2006-10-02 | 2012-08-01 | 2.4.33.3 | First version on DVD |
12.0 | 2007-07-01 | 2012-08-01 | 2.6.21.5 | Switched from Linux 2.4 to 2.6 kernel; removed floppy disk installation |
12.1 | 2008-05-02 | 2013-12-09 | 2.6.24.5 | |
12.2 | 2008-12-10 | 2013-12-09 | 2.6.27.7 (patched to 2.6.27.31) |
|
13.0 | 2009-08-26 | 2018-07-05 | 2.6.29.6 | Added 64-bit version; switched from KDE 3.5 to 4.x; changed package compression to xz |
13.1 | 2010-05-24 | 2018-07-05 | 2.6.33.4 | Added PolicyKit and ConsoleKit |
13.37 | 2011-04-27 | 2018-07-05 | 2.6.37.6 | Added support for GPT and Btrfs filesystem tools |
14.0 | 2012-09-28 | 2024-01-01 | 3.2.29 (patched to 3.2.98) |
Added NetworkManager |
14.1 | 2013-11-04 | 2024-01-01 | 3.10.17 (patched to 3.10.107) |
Added support for UEFI hardware; switched from MySQL to MariaDB |
14.2 | 2016-06-30 | 2024-01-01 | 4.4.14 (patched to 4.4.301) |
Added PulseAudio |
15.0 | 2022-02-02 | No EOL announced | 5.15.19 (patched to 5.15.160) |
Changed default text encoding to UTF-8; switched from KDE4 to Plasma5; moved package database; added lame, vulkansdk, SDL2, FFmpeg, PAM, and Wayland |
-current | development | N/A | 6.9.3 |
Support for Slackware
Slackware doesn't have a fixed policy for how long it will support old versions. However, they do announce when security updates will stop for older versions. For example, on June 14, 2012, they announced that security patches for versions 8.1 through 12.0 would stop on August 1, 2012. Version 8.1 had been supported for over 10 years! Later, on August 30, 2013, versions 12.1 and 12.2 were announced to stop support on December 9, 2013, after at least 5 years of support. On April 6, 2018, versions 13.0, 13.1, and 13.37 were announced to stop support on July 5, 2018, after at least 7 years. On October 9, 2023, versions 14.0, 14.1, and 14.2 were announced to stop support on January 1, 2024.
Even though there were no official announcements for versions older than 8.1, they are no longer updated and are considered to have reached their end-of-life.
Different Computer Types
In the past, Slackware focused only on 32-bit computers. But starting with Slackware 13.0, a 64-bit version called x86_64 became available. This version is officially supported and developed at the same time as the 32-bit version. Before Slackware64, people who wanted a 64-bit version had to use unofficial versions like slamd64.
Slackware is also available for other computer types. There's Slack/390 for IBM S/390 computers and Slackware ARM (originally called 'ARMedslack') for ARM processors. Patrick Volkerding has called both of these "official." However, the S/390 version is quite old and hasn't been updated since 2009. For Slackware ARM, the developer announced in July 2016 that they had improved the tools to make it easier to maintain. They also started working on a 32-bit version that uses "hardware floating point." This version was released in August 2016 as a "current" (development) version.
On December 28, 2020, work began on porting Slackware to 64-bit ARM computers, known as 'AArch64'. This version was ready by May 2021 and has many improvements over the original ARM port. It's also much easier to install. On March 29, 2022, Slackware AArch64 was publicly released as a "current" version. It supports computers like the RockPro64, Pinebook Pro, and Raspberry Pi 3 & 4. There are also unofficial versions like slarm64 for AArch64 and another for riscv64 computers.
In March 2022, official development of the 32-bit ARM version of Slackware stopped. Future work will focus only on the AArch64/ARM64 version. This is because 32-bit hardware couldn't keep up with Slackware's development, and many applications stopped supporting 32-bit ARM. However, there's an unofficial Slackware version called BonSlack that still provides 32-bit ARM versions. This project also offers versions for many other computer types, like Alpha, HPPA, LoongArch, MIPS, OpenRISC, PowerPC, RISC-V, S/390x, SH-4, SPARC, and x86 (32-bit with 64-bit time_t). On December 21, 2022, Slackware ARM 14.2 was announced to stop support on March 1, 2023.
Slackintosh was a version of Slackware Linux for Macintosh computers with PowerPC processors, like older Power Macs, PowerBooks, iMacs, iBooks, and Xserves (from 1994 to 2006). The last version of Slackintosh was 12.1, released on June 7, 2008. Its website is still active, and you can download version 12.1 for older PowerPC Macs. In February 2012, the developers announced that development was frozen. They said version 12.1 would only get security updates for one more month unless someone else took over. This never happened, and Patrick Volkerding officially declared the project finished in July 2021.
Getting Slackware
You used to be able to buy Slackware 14.2 CD sets, single DVDs, and other items from a store. However, due to payment issues, Patrick Volkerding told them to close the store.
You can download Slackware images (about 2.6 GB) for free from the official Slackware website. You can get them using BitTorrent, FTP mirrors, or HTTP mirrors.
The Slackware version for IBM S/390 computers (which stopped being supported in 2009) can still be downloaded. You can install it from a DOS Partition or a floppy disk.
The Slackware version for ARM computers can be downloaded and installed over a network. This uses tools like Das U-Boot and a TFTP boot server, or from a small root filesystem. You can also install Slackware ARM on a PC using QEMU with the same method.
Slackware AArch64 (ARM64) is installed directly from SD card images, similar to how you install Slackware x86 from a DVD.
See also
In Spanish: Slackware para niños