Running with the Pack

Distro Walk – Puppy Linux

© Photo by Thomas Bonometti on Unsplash

© Photo by Thomas Bonometti on Unsplash

Article from Issue 265/2022

Not just one operating system, Puppy Linux is a diverse collection of lightweight operating systems designed for efficiency.

All distributions are different, but Puppy Linux [1] is more so than most. In fact, some who develop or use Puppy Linux assume from past experience that media coverage of the distribution will inevitably misrepresent it. The truth is, Puppy Linux is not a single operating system, not even one with multiple editions, flavors, or spins. Instead, Puppy Linux is a collection of lightweight operating systems built on common code with some common applications and a few points of common philosophy (Figure 1) – rather as though Debian, Ubuntu, and Linux Mint were all part of the same project. Little of this definition of Puppy Linux is spelled out. As a result, most reviews of Puppy Linux concentrate on the more popular Puppy operating systems, which makes most reviews misleading.

Figure 1: Puppy Linux is a family of distributions that share common code but use different widgets and themes and offer different preinstalled software. Shown here, from left to right, are Fossapup, Slacko, and Vanilla Dpup.

Puppy Linux was founded by Barry Kauler in June 2003. Kauler's efforts were a response to the increasing hardware requirements of other distributions. From early on, the Puppy Linux Discussion Forum was central to the distribution, and it remains so to this day. However, Puppy only began to assume its current form in its third release. The third release included both a remastering app that allowed users to select what they compiled and the forerunner of Woof, which allows Puppy's infrastructure to be used with the binary of another distro – today, usually Slackware or a specific Ubuntu or Debian release. Using Woof, a user called Jemimah added the third distinguishing feature of Puppy: the ability to load drivers, firmware, and kernels into RAM, which not only increased the speed but simplified updates (Figure 2).

Figure 2: All Puppy Linuxes include the option to load system files into RAM.

With this structure, Puppy Linux assumed most of its present forum, with features such as Woof that are common to all Puppy distributions, and other features that are unique to a particular distribution. Today, Puppy Linux recognizes three different types of distributions:

  • Official: Distributions built using Woof and maintained by Puppy Linux
  • Woof-Built: Distributions built with Woof that also have additional or modified packages
  • Unofficial or puplets: Remasters that are privately maintained, usually for specific purposes, instead of being on the Puppy Linux Forum.

The project's home page lists some of these distributions midway down the page. The list includes the binaries used to build them. The ones based on Ubuntu are often named for a specific release. Table 1 gives links to Puppy distros with an active forum. Unfortunately, detailed summaries or comparisons of Puppy Linux do not seem to exist. When asked how to choose a Puppy distribution, Puppy users tend to simply suggest that you try them.

The Contents of Puppy Linuxes

As the name suggests, Puppy Linux was originally intended for systems with limited resources, especially old machines. Given the memory on machines of the last decade, that is perhaps less relevant than it used to be. However, as Puppy user George Christopher points out, Puppy remains efficient and fast, which can be useful for high-end audio and graphics. In addition, compactness makes it portable and gives insurance against a system becoming obsolete too quickly in the future. Besides, many Linux users are knowledgeable enough to appreciate efficiency for its own sake.

In addition, most – if not all – Puppy Linuxes share a number of distinguishing features, although they may be clothed in different widgets and themes. Pick a Puppy Linux at random, and you can expect the option to load the operating system into RAM, where its elements are read-only. By default, Puppy Linux does a frugal install, putting all its files into a single folder, which allows it to be installed in another operating system and allows the installation of multiple Puppy Linuxes on the same system [2]. A full install, with the operating system spread across an entire partition, is also possible, although this option is deprecated.

The first time you run Puppy Linux, Quick Setup (Figure 3) opens where you can customize generic settings. From the Quick Setup window, you can can also link to the Video Wizard where more precise configurations can be set (Figure 4). Closing the configuration windows opens the Welcome wizard, which is introduced by a bark and provides further orientation (Figure 5). When shutting down, you can also choose to save the current state of the system and desktop for use on the next boot (Figure 6).

Figure 3: Quick Setup provides generic configurations that can be fine-tuned.
Figure 4: The Video Wizard is typical of Puppy's more detailed configuration tools.
Figure 5: The Welcome wizard gives a basic orientation.
Figure 6: Puppy Linux can save the desktop's current state as it shuts down. On the next boot, the previous state will be restored.

Beyond such similarities, anything goes. Most Puppy Linuxes are branded with their own widgets and desktops, as well as their choice of applications. Some prefer desktop icons while others favor docks. In keeping with the principle of compactness, many install a minimum of applications, although what that minimum consists of can vary widely. Others install a curated list of applications, some of which are common in other distributions and some of which are less well known. Of special note are features unique to Puppy, such as the compromise of a link to install LibreOffice. Many, too, include applications developed within Puppy Linux, such as the PupSave Backup; PUDD, a graphical interface for the dd command; and QuickPup64, which searches the forums for package information. Generally speaking, these Puppy developments are complete and useful, with an unusual amount of embedded documentation. Should this documentation not suffice, more help can generally be found on the forum.

The Heart of Puppy Linux

As this summary shows, Puppy Linux is a diverse project. Several stewards help to give direction, but little formal organization exists, either in general or in most of the available operating systems. As forum moderator bigpup suggests, the forum is the heart of Puppy Linux. Bigpup describes it as a place "where anything and everything Puppy can be done. We all help each other and do something for Puppy Linux. This forum gives us a place to do it. I have seen many new Puppy users come to this forum for help, and soon, they are providing bug fixes, help to others, testing software and Puppy versions, or providing their modified version of a Puppy version…. So, there is always more than one new version being offered. They all follow the basic setup and operation, but after that, it is a free for all."

To someone like me, who has been involved with Linux for decades, Puppy Linux is reminiscent of the early days in the best sense: Puppy Linux is a project full of enthusiastic volunteers joined together to see their visions realized, who are producing results whose excellence deserves to be better known. I can only hope that I have managed to do Puppy Linux some justice.

With thanks to all the members of Puppy Linux who answered my questions, especially site admin rockedge, who coordinated my search for answers.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More