Puppy Linux

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Puppy Linux
Banner logo Puppy.png
Puppy Linux Xenialpup 7.5 CE.jpg
Puppy Linux Xenialpup 7.5
DeveloperBarry Kauler (original)
Larry Short, Mick Amadio and Puppy community (current)
OS familyUnix-like
Working stateCurrent
Source modelPrimarily open source
Initial release0.1[1]/ 18 June 2003; 15 years ago (2003-06-18)
Latest release7.5[2] (XenialPup) / 4 December 2017; 12 months ago (2017-12-04)
Latest preview17.11+11 (possibly version 8.X.X) RC (ArtfulPup) / January 20, 2018; 10 months ago (2018-01-20)[3]
Marketing targetLive CD, Netbooks, older systems and general use
Package managerPuppy Package Manager
Platformsx86, x86-64, ARM
Kernel typeMonolithic
Default user interfaceJWM / IceWM + ROX Desktop
LicenseGNU GPL and various others
Official websitewww.puppylinux.org

Puppy Linux is an operating system and lightweight Linux distribution that focuses on ease of use[4] and minimal memory footprint. The entire system can be run from RAM with current versions generally taking up about 210 MB,[5] allowing the boot medium to be removed after the operating system has started. Applications such as AbiWord, Gnumeric and MPlayer are included, along with a choice of lightweight web browsers and a utility for downloading other packages. The distribution was originally developed by Barry Kauler and other members of the community, until Kauler retired in 2013.[6] The tool Woof can build a Puppy Linux distribution from the binary packages of other Linux distributions.[7]


Barry Kauler started Puppy Linux in response to a trend of other distributions being stricter on system requirements with time. His own distribution, with an emphasis on speed and efficiency and being lightweight, started from "Boot disk HOWTO" and gradually included components file-by-file until Puppy Linux was completed.[8][clarification needed] Puppy Linux started as Vector Linux based until it became a fully independent distribution.[9]

Release Versions[edit]

Puppy Linux 4.3.0
Puppy Linux 5.0.0
Puppy Linux 5.2.8 Lucid Puppy
Puppy Linux 5.3.0 Slacko Puppy
Puppy Linux 5.4 Slacko Puppy
Puppy Linux 5.5 Slacko Puppy
Puppy Linux 5.7 Slacko Puppy
Puppy Linux 6.0 Tahrpup
Puppy Linux 7.5 Xenialpup
Version Release Date
Puppy 0 18 June 2003
Puppy 1 29 March 2005
Puppy 2 1 June 2006
Puppy 3 2 October 2007
Puppy 4 5 May 2008
Puppy 5 15 May 2010
Puppy 6 26 October 2014
Puppy 7 4 December 2017

Puppy 0 is the initial release of Puppy Linux. It has no unionfs, extreme minimal persistence support, and has no package manager or ability to install applications.[10]

Puppy 1 series will run comfortably on very dated hardware, such as a Pentium computer with at least 32 MB RAM. For newer systems, the USB keydrive version might be better (although if USB device booting is not directly supported in the BIOS, the Puppy floppy boot disk can be used to kick-start it). It is possible to run Puppy Linux with Windows 9x/Windows Me. It is also possible, if the BIOS does not support booting from USB drive, to boot from the CD and keep user state on a USB keydrive; this will be saved on shutdown and read from the USB device on bootup.[11][12]

Puppy 2 uses the Mozilla-based SeaMonkey as its Internet suite (primarily a web browser and e-mail client).[13]

Puppy 3 features Slackware 12 compatibility.[14] This is accomplished by the inclusion of almost all the dependencies needed for the installation of Slackware packages. However, Puppy Linux is not a Slackware-based distribution.[15][16]

Puppy 4 is built from scratch using the T2 SDE[17] and no longer features native Slackware 12 compatibility[18] in order to reduce the size and include newer package versions than that found in 3. To compensate for this, an optional "compatibility collection" of packages was created that restores some of the lost compatibility.[18][19][20][21]

  • Puppy 4.2 features changes to the user interface and backend, upgraded packages, language and character support, new in-house software and optimizations, while still keeping the ISO image size under 100 MB.[22]

Puppy 5 is based on a project called Woof[23] which is designed to assemble a Puppy Linux distribution from the packages of other Linux distributions. Woof includes some binaries and software derived from Ubuntu, Debian, Slackware, T2 SDE, or Arch repositories. Puppy 5 came with a stripped down version of the Midori browser to be used for reading help files and a choice of web browsers to be installed, including Chromium, Firefox, SeaMonkey Internet Suite, Iron and Opera.[24][25][26][27][28][29][30][31][32][33][34][35]

Puppy 6 is built from Ubuntu 14.04 Trusty Tahr packages, has binary compatibility with Ubuntu 14.04 and access to the Ubuntu package repositories. Tahrpup is built from the woof-CE build system, forked from Barry Kauler's Woof late last year after he announced his retirement from Puppy development. It is built from the latest testing branch, incorporates all the latest woof-CE features and is released in PAE and noPAE ISOs, with the option to switch kernels.[36]

Puppy 7 is built from Ubuntu 16.04 Xenial Xerus packages, has binary compatibility with Ubuntu 16.04 and access to the Ubuntu package repositories. Tahrpup is built from the woof-CE build system, forked from Barry Kauler's Woof. It is built from the latest testing branch, incorporates all the latest woof-CE features and is released in PAE and noPAE ISOs, with the option to switch kernels. It has a new UI, a new kernel update for greater hardware compatibility, redesign Puppy Package Manager, some bugfixes and base packages inclusion into the woof structure.[37]


Puppy Linux is a complete operating system bundled with a collection of applications suited to general use tasks. It can be used as a rescue disk,[38] a demonstration system that leaves the previous installation unaltered, as an accommodation for a system with a blank or missing hard drive, or for using modern software on legacy computers.[39]

Puppy's compact size allows it to boot from any media that the computer can support. It can function as a live USB for flash devices or other USB mediums, a CD, an internal hard disk drive, an SD card, a Zip drive or LS-120/240 SuperDisk, through PXE, and through a floppy boot disk that chainloads the data from other storage media. It has also been ported to ARM and can run on a single board computer such as the Raspberry Pi.[40]

Puppy Linux features built-in tools which can be used to create bootable USB drives, create new Puppy CDs, or remaster a new live CD with different packages.[41][42] It also uses a sophisticated write-caching system with the purpose of extending the life of live USB flash drives.[43]

Puppy Linux includes the ability to use a normal persistent updating environment on a write-once multisession CD/DVD that does not require a rewritable disc; this is a unique feature that sets it apart from other Linux distributions.[44] While other distributions offer live CD versions of their operating systems, none offer a similar feature.

Puppy's bootloader does not mount hard drives or connect to the network automatically. This ensures that a bug or even unknowingly incompatible software won't corrupt the contents of such devices.[45][better source needed]

Puppy Linux offers a session save on shutdown. Since Puppy Linux fundamentally runs in RAM, any files and configurations made or changed in a session would disappear otherwise. This feature enables the user to either save the contents to a writable storage medium, or write the file system to the same CD containing Puppy, if "multisession" was used to create the booted CD and if the disc drive supports burning. This applies to CD-Rs as well as CD-RWs and DVDs.

It is also possible to save all files to an external hard drive, USB stick, or even a floppy disk instead of the root file system. Puppy can also be installed to a hard disk.[46]

User interface[edit]

Desktop with one of multiple integrated themes with XMMS a multimedia player, mtPaint a painting program for creating pixel art and manipulating digital photos and mplayer running, plus an opened text file under Puppy Linux 2.15 CE Viz (with default WM: IceWM)

The default window manager in most Puppy releases is JWM.[47]

Packages of the IceWM desktop, Fluxbox and Enlightenment are also available via Puppy's PetGet package (application) management system (see below). Some derivative distributions, called puplets, come with default window managers other than JWM.[48]

When the operating system boots, everything in the Puppy package uncompresses into a RAM area, the "ramdisk". The PC needs to have at least 128 MB of RAM (with no more than 8 MB shared video) for all of Puppy to load into the ramdisk. However, it is possible for it to run on a PC with only about 48 MB of RAM because part of the system can be kept on the hard drive, or less effectively, left on the CD.

Puppy is fairly full-featured for a system that runs entirely in a ramdisk, when booted as Live system or from a 'frugal' installation. However, Puppy also supports the 'full' installation mode, which enables Puppy to run from a hard drive partition, without a ramdisk. Applications were chosen that met various constraints, size in particular. Because one of the aims of the distribution is to be extremely easy to set up, there are many wizards that guide the user through a wide variety of common tasks.[49][citation needed]

Package and distribution management[edit]

wNOP v0.2 on EeePC: Puppy 3.01 & Compiz-Fusion
Puppy Package Manager showing Slackware 14 indic fonts package

Puppy Linux's package manager, Puppy Package Manager, installs packages in PET (Puppy Enhanced Tarball) format by default but it also accepts packages from other distros (such as .deb, .rpm, .txz, and .tgz packages) or by using third-party tools to convert packages from other distros to PET packages. Puppy Package Manager can also trim the software bloat of a package to reduce the disk space used.[50]

Building the distribution[edit]

On earlier releases of Puppy Linux, Puppy Unleashed was used to create Puppy ISO images. It consists of more than 500 packages that are put together according to the user's needs. However, on later versions starting with Puppy Linux version 5.0, it was replaced by Woof. It is an advanced tool for creating Puppy installations. It requires an Internet connection and some knowledge of Linux to use. It is able to download the binary source packages from another Linux distribution and process them into Puppy Linux packages by just defining the name of that Linux distro.[51] It is equipped with a simpler version control named Bones on earlier releases but on later versions of woof, Fossil version control is used.[52]

Puppy also comes with a remastering tool that takes a "snapshot" of the current system and lets the user create a live CD from it, and an additional remastering tool that is able to remove installed components.[citation needed]

Puppy Linux uses the T2 SDE build scripts to build the base binary packages.[citation needed]

Official variants[edit]

Because of the relative ease with which the Woof tool and the remaster tool can be used to build variants of Puppy Linux, there are many variants available.[7][53] Variants of Puppy Linux are known as puplets.

After Barry Kauler reduced his involvement with the Puppy Project, he designed two new distributions within the same Puppy Linux family, Quirky and Wary.

Quirky - An embedded, less-stable distro with all files contained in an initramfs built into the kernel. It has simple module loading management but fewer drivers are included.[54][55][56] It is used for experimental purposes.

Racy - A variant of puppy optimized for newer PCs.[57]

Wary - A Puppy variant targeted at users with old hardware. It uses an older Linux kernel, which has long-term support and the newest applications.[58]

Easy - A puppy variant which init script is completely rewritten and it uses originally developed application containers aside the conventional package management.[59]


DistroWatch reviewer Rober Storey concluded about Puppy 5.2.5 in April 2011: "A lot of people like Puppy — it's in the top 10 of the DistroWatch page-hit ranking. I enjoy Puppy too, and it's what I run exclusively on my netbook. Maybe the only thing wrong with Puppy is that users' expectations tend to exceed the developer's intentions."[60]

In a detailed review of Puppy Linux in May 2011 Howard Fosdick of OS News addressed the root user issue, "In theory this could be a problem — but in practice it presents no downside. I've never heard of a single Puppy user suffering a problem due to this." Fosdick concluded "I like Puppy because it's the lightest Linux distro I've found that is still suitable for end users. Install it on an old P-III or P-IV computer and your family or friends will use it just as effectively for common tasks as any expensive new machine."[61]

In December 2011 Jesse Smith, writing in DistroWatch, reviewed Puppy 5.3.0 Slacko Puppy. He praised its simplicity, flexibility and clear explanations, while noting the limitations of running as root. He concluded "I would also like to see an option added during the boot process which would give the user the choice of running in unprivileged mode as opposed to running as root. Always being the administrator has its advantages for convenience, but it means that the user is always one careless click away from deleting their files and one exploit away from a compromised operating system. As a live CD it's hard to beat Puppy Linux for both performance and functional software. It has minimal hardware requirements and is very flexible. It's a great distro as long as you don't push it too far out of its niche."[62]

In December 2011 Howard Fosdick reviewed the versions of Puppy Linux then available. He concluded, "Puppy's diversity and flexibility make it a great community-driven system for computer enthusiasts, hobbyists, and tinkerers. They also make for a somewhat disorderly world. You might have to read a bit to figure out which Puppy release or Puplet is for you. Puppy's online documentation is extensive but can be confusing. It's not always clear which docs pertain to which releases. Most users rely on the active, friendly forum for support." He also noted "Those of us who enjoy computers sometimes forget that many view them with disdain. What's wrong with it now? Why do I have to buy a new one every four years? Why on earth do they change the interface in every release? Can't it just work? Puppy is a great solution for these folks. It's up-to-date, free, and easy to use. And now, it supports free applications from the Ubuntu, Slackware, or Puppy repositories. Now that's user-friendly."[63]

See also[edit]


  1. ^ "Puppy Time Line pre-Puppy Version 1 (2003-2005)". PuppyLinux. Retrieved 2012-05-06.
  2. ^ "Puppy Linux Blog". 2016-06-22. Retrieved 2017-02-20.
  3. ^ "Puppy Linux Blog - Powered by SJPPLOG_NG". puppylinux.com. Retrieved 21 January 2018.
  4. ^ Fosdick, Howard (October 8, 2007). "An in-depth look at Puppy Linux". DesktopLinux. Archived from the original on January 16, 2013. Retrieved August 19, 2016.
  5. ^ Kauler, Barry (2008). "Official Puppy Linux Website". Archived from the original on December 11, 2015. Retrieved July 13, 2016.
  6. ^ Kauler, Barry. "TahrPup 6.0". Bkhome.org. Retrieved 2013-08-04.
  7. ^ a b "Announcement and release notes for Lucid Puppy 5.0".
  8. ^ "Interview: Barry Kauler, Puppy Linux". DistroWatch Weekly. DistroWatch. November 14, 2005. Retrieved 2016-08-19.
  9. ^ "Puppy Linux History". puppylinux.com. Retrieved 26 August 2016.
  10. ^ "Puppy Linux History". puppylinux.com. Retrieved 2016-08-16.
  11. ^ "Pupsave file". PuppyLinux.com.
  12. ^ DistroWatch Weekly, Issue 120, 3 October 2005
  13. ^ Talking Puppy for a short walk | Tux Machines
  14. ^ Kauler, Barry. "Puppy 3.00 Released (Updated to 3.01)". Archived from the original on November 8, 2007.
  15. ^ Kauler, Barry. "Puppy Linux release notes v3.00".
  16. ^ DistroWatch Weekly, Issue 223, 8 October 2007
  17. ^ Kauler, Barry. "Puppy Linux release notes 4.00".
  18. ^ a b Kauler, Barry. "package management".
  19. ^ Puppy Linux 4.3 and Woof [LWN.net]
  20. ^ DistroWatch Weekly, Issue 317, 24 August 2009
  21. ^ Puppy Linux - revisited - Absolutely stunning!
  22. ^ Kauler, Barry. "Puppy Linux 4.2". Archived from the original on 3 January 2010. Retrieved 6 April 2011.
  23. ^ Kauler, Barry (9 February 2009). "Woof: the 'Puppy builder'". Puppy developer pages. Retrieved 2009-02-13.
  24. ^ Puppy Linux (May 2016). "Index of /puppylinux/Lucid_Puppy". Retrieved May 14, 2016.
  25. ^ Puppy Linux (May 2016). "Index of /puppylinux/pet-packages-lucid/". Retrieved May 14, 2016.
  26. ^ DistroWatch Weekly, Issue 553, 7 April 2014
  27. ^ Review of Precise Puppy: Puppy Linux With Ubuntu Favor, MakeTechEasier.
  28. ^ Precise Puppy Is a Fast, Furious Distro | Reviews | LinuxInsider
  29. ^ DistroWatch Weekly, Issue 488, 24 December 2012
  30. ^ DistroWatch Weekly, Issue 435, 12 December 2011
  31. ^ Puppy Linux: Top Dog of the Lightweight Distros
  32. ^ DistroWatch Weekly, Issue 401, 18 April 2011
  33. ^ For an Old or Slow PC, Try Puppy Linux 5.2 | PCWorld
  34. ^ Puppy Linux 5 Lucid Puppy - Nothing but praise
  35. ^ Puppy Linux 5.0 "Lucid Puppy" Released | Linux Journal
  36. ^ Kauler, Barry (May 2013). "Announcement and release notes for Tahrpup 6.0 CE". iBiblio.org. Retrieved May 14, 2016.
  37. ^ Kauler, Barry. "Puppy Linux Release Announcement". distro.ibiblio.org. Retrieved 2017-12-10.
  38. ^ "Taking Puppy Linux for a Walk".
  39. ^ "Reviving old computer".
  40. ^ "ARM". PuppyLinux. May 29, 2013. Retrieved August 12, 2013.
  41. ^ "Make your own Puppy-CD". Archived from the original on October 13, 2008. Retrieved August 19, 2016.
  42. ^ "Remastering". Puppy Linux Wiki. Retrieved August 19, 2016.
  43. ^ Kauler, Barry (September 9, 2006). "How Puppy Works". Archived from the original on August 19, 2016. Retrieved August 19, 2016.
  44. ^ "Puppy Multisession DVD/CD".
  45. ^ "AutoFS". Archived from the original on 2010-08-14.
  46. ^ Eckstein, Keith (July 2010). "And they call it Puppy Love…". Archived from the original on July 11, 2010. Retrieved 9 July 2010.
  47. ^ "JWM". PuppyLinux.org.
  48. ^ "IceWM". PupWeb.org.
  49. ^ "AboutPuppy - Puppy Linux". Archived from the original on 2008-06-21. Retrieved 2008-08-02.
  50. ^ Kauler, Barry (October 2009). "Package management". Retrieved 23 January 2011.
  51. ^ Barry Kauler (March 2010). "Woof: the "Puppy builder"".
  52. ^ Barry Kauler (March 2010). "Bones: version control".
  53. ^ "PuppyLinux: Puplets".
  54. ^ Quirky
  55. ^ DistroWatch.com: Quirky
  56. ^ QuirkyLinux Gets More Pep Out of Puppy | Reviews | LinuxInsider
  57. ^ "Puppy Linux Community - Home". Puppylinux.org. Retrieved 2012-04-12.
  58. ^ Kauler, Barry. "Wary Puppy Linux". bkhome.org. Retrieved 26 August 2016.
  59. ^ Kauler, Barry. "How Easy Linux works". barryk.org. Retrieved 21 March 2017.
  60. ^ Storey, Robert (April 2011). "Puppy Linux 5.2.5 - taking a bite out of bloat". DistroWatch. Retrieved 23 April 2011.
  61. ^ Fosdick, Howard (May 2011). "Puppy Linux: Top Dog of the Lightweight Distros". OS News. Retrieved 17 May 2011.
  62. ^ Smith, Jesse (12 December 2011). "Review: Puppy Linux 5.3 "Slacko"". DistroWatch. Retrieved 12 December 2011.
  63. ^ Fosdick, Howard (17 December 2011). "Puppy Has A Litter". OS News. Retrieved 17 December 2011.

External links[edit]