User:Rockwell.M/Puppy Linux

Puppy Linux is a Live CD Linux distribution. Its primary aims are to be lightweight (generally under 100MB), and easy to use (especially for new linux users). It was designed and is primarily maintained by Barry Kauler, and has a fairly active forum and community surrounding it.

The latest release is 4.00, released on 2008-05-04.

Features
Puppy can be booted from:
 * CD-ROM (a Live CD)
 * USB flash drive/keydrive or any other bootable USB storage device
 * Internal hard drive
 * A computer network (thin client)
 * An emulator

Installing a version of Puppy on a hard disk, USB disk, Zip disk, etc. can be done from live CD or another existing installation.

Puppy Linux is also designed to (where possible) copy all files required to run the system into the RAM. This allows the boot media to be removed, and the drive or port used for other purposes, as well as considerably speeding up the system.

One feature of Puppy Linux is the ability to run a normal working environment on a write-once CD. (It does not require a rewritable CD.) Puppy automatically detects changes in the file system and saves them incrementally on the CD. When the CD is full, users can easily switch to a new CD while carrying over all their files and desktop environment. Puppy

Puppy Linux also features a write-caching system designed to extend the life of USB flash drives that it runs from.

GUI
Puppy comes with a choice of 2 graphical servers: X.org (full-featured) and Xvesa (lightweight). A wizard during the start-up process guides the user through setting up a graphical server appropriate for their video card & monitor. At the end of the wizard the user will be presented with a desktop and window manager; the default WM in most Puppy releases is JWM. The 2.15 Community Edition provides the IceWM manager by default.

Packages to install IceWM, Fluxbox and Enlightenment are also available via a link on the Puppy Linux Wiki.

Operation
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 in the worst case, left on the CD.

Puppy is fairly full-featured for a system that runs entirely in a ramdisk; applications were chosen that met various constraints, size in particular. There are a number of wizards that take the user through the process of a range of common tasks, as well as custom made programs created by the Puppy community.

Package management and distribution management
Puppy Linux comes with a package manager called PetGet. These packages are similar to Slackware packages in that they are a GZipped TAR archive containing the package and install scripts. However, along with some structural differences, PET packages also support dependencies, menu entries and other metadata. .

Another kind of packages, DotPups, were used in previous versions of the system and are still mostly compatible.

Puppy Unleashed is available for creating a custom live CD. It consists of more than 500 packages that are put together according to the user's needs.

Puppy also comes with a remaster tool that takes a snapshot of the current system and creates a new live-CD from it.

Puppy Linux uses the T2 SDE build scripts to build the base binary packages.

History
Puppy Linux

Puppy Linux 3 features Slackware 12 compatibility. This is accomplished by the inclusion of almost all the dependencies needed for the installation of Slackware packages. However, this does not mean that Puppy Linux is now a Slackware-based distribution.

Puppy 4 is a partial redesign created after the developer felt that Puppy 3 was too bloated. It is no longer specifically slackware compatible, but most packages should still work.

List of Puppy Linux derivatives
This is partially compiled list of the current derivatives in development according to List of Puppy Linux Derivatives Community Website and Ongoing Puplet Family Tree