Puppy Linux

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Puppy Linux
Banner logo Puppy.png
Puppy Linux Tahrpup 6.0 CE.png
Puppy Linux Tahrpup 6.0 CE
Developer Barry Kauler (original)
Larry Short, Mick Amadio and Puppy community (current)
Written in {{#property:p277}}
OS family Unix-like
Working state Current
Source model Primarily open source
Initial release 0.1[1]/ 18 June 2003; 21 years ago (2003-06-18)
Latest release 6.3[2] (Slacko) / 16 November 2015; 9 years ago (2015-11-16)
Marketing target Live CD, Netbooks, older systems and general use
Package manager PetGet, Puppy Package Manager
Platforms x86, x86-64, ARM
Kernel type Monolithic
Default user interface JWM / IceWM + ROX Desktop
License GPL and various others
Official website www.puppylinux.com

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

Kauler retired from Puppy development in 2013.[6]

Features

Puppy Linux is a full-fledged operating system, bundled with a collection of application suites for a wide variety of tasks suitable for general use. Puppy is small, so it can boot from many types of media. It is also useful as a rescue disk,[7] a demonstration system, leaving the original/existing operating system unaltered, as an OS for a system with a blank or missing hard drive, or for keeping old computers useful.[8]

Puppy can boot from:

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

Puppy Linux has a unique feature which sets it apart from other Linux distributions: the ability to offer a normal persistently updating working environment on a write-once multisession CD/DVD. (It does not require a rewritable CD/DVD.) Puppy automatically detects changes in the file system and saves them incrementally on the disc.[10] This feature works particularly well with DVDs, partly because of the much larger space available. While other distributions offer Live CD versions of their operating systems, they do not allow programs to be permanently added nor do they allow files to be written to the CD.

Puppy also features sophisticated write-caching system designed to extend the life of USB flash drives that Puppy Linux runs from.[11][12]

Unlike other operating systems, Puppy Linux does not mount (i.e. prepare to read from/write to) hard drives or connect to the network automatically. This reduces the odds that a bug or even intentionally added incompatible software corrupts the contents of a hard drive.[13] Puppy Linux can also run on ARM platform and also on a single board computer such as Raspberry Pi.[14]

Since Puppy Linux fundamentally runs in RAM, all the files, operations and configurations that are created/modified in a session would disappear when the system is shut down. However, it is possible to save files upon shutdown. This feature enables the user to either save the file to disk, (USB, HDD etc.) or write the file system to the same CD Puppy was booted from, if "multisession" was used to create the booted CD and if a CD burner is present. This is true for 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.[15]

User interface

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

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

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.[18][citation needed]

Package and distribution management

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

Building the distribution

On earlier release of Puppy Linux, Puppy Unleashed (currently replaced by Woof) is 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.[20] It is equipped with a simpler version control named Bones on earlier releases but on later versions of woof, Fossil version control is used.[21]

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

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.[5][22] 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 distro with all files contained in an initramfs built into the kernel. It has simple module loading management but fewer drivers are included.[23]
Racy
A variant of Wary optimized for newer PCs.[24]
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.[25]

Release history

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
Version Release Date
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 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.[26]

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

Puppy 3 features Slackware 12 compatibility.[27] 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.[28]

Puppy 4 is built from scratch using the T2 SDE[29] and no longer features native Slackware 12 compatibility[30] 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.[30]

  • 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.[31]

Puppy 5 is based on a project called Woof[32] 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.[33][34]

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

Reception

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."[36]

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."[37]

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."[38]

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."[39]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. An in-depth look at Puppy Linux by Howard Fosdick
  4. [1] Official Puppy Linux Website
  5. 5.0 5.1 Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Quirky
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Wary
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. 30.0 30.1 Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. http://distro.ibiblio.org/puppylinux/puppy-tahr/iso/tahrpup%20-6.0-CE/release-Tahrpup-6.0-CE.htm
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.

External links