It would be fair to say that the Linux landscape is somewhat cluttered with distributions, each offering a slight value delta to consider. So, I didn't expect to be evaluating yet another distro any time soon. Recently, however, I went hunting for an embedded Linux solution for small devices, and along the way, I stumbled on something that offers much more general value than what I was looking for—a Linux distribution called Puppy Linux (hereafter referred to as PL).
PL is getting a lot of attention and steadily gaining popularity, and it seemed worthy of further examination. At first glance, PL is a distribution praised for being small, fast and stunningly complete for its size—just as complete and secure as most desktop distributions. It also has the relatively unique distinction of being usable from live bootable removable media—CD/DVD or even a USB Flash device.
PL was developed and organized by Barry Kauler in 2003 as a fresh-start Linux Distribution Project—that is, it did not grow out of an existing distribution. Its goal and identifying characteristics have been consistent—offer a small, efficient distribution that doesn't sacrifice on user features or ease of use. PL's lightweight footprint makes it practical to use directly from a portable bootable image rather than needing to install it onto a fixed internal disk. In fact, PL can be booted and used effectively from any medium, ranging from a floppy disk to a network server.
To try PL, you need access to a CD/DVD R/W drive and disk writer software capable of burning ISO images and a host PC/laptop with the following:
Pentium II-class processor.
Removable media (CD/DVD or USB device).
BIOS that will allow the computer to boot from CD or USB—this device needs to appear before internal drives or other active boot options.
RAM: 128MB–256MB (at minimum).
The machine I primarily used for testing is now a dedicated PL host. On the surface, this machine was ready for the scrap heap—a vintage Pentium III, 600MHz processor with 384MB of RAM. The PL community has suggested that a 100MHz-class machine with a minimum of 64MB of RAM will support PL. That may be, but I would expect it to be very tight and recommend more memory and a faster processor.
So what does the PL distribution contain? Given the size of the bootable image—the latest 3.0.1 release is smaller than 100MB—you might be surprised to see the completeness of PL. PL includes utilities and applications for anything a desktop user typically expects and needs to do—browse and communicate on the Web, view and manipulate digital photos and other media files, create documents, play games and so on. Specifically, the default core distribution includes the following:
Desktop control, filesystem browser and command-line console.
Choice of two X servers and the JWM (Joe's Window Manager).
Language interpreters: Perl, TCL/TK and the bash-compatible shell.
An assortment of media players and burners.
Office applications: word processor, spreadsheet and PDF writer.
Internet client tools: base Mozilla browser (Seamonkey), chat, FTP, e-mail, secure shell/Telnet, a wiki and a Web-authoring tool.
Network services, including an FTP server and firewall.
System administration utilities to manage and monitor disks/filesystems, job scheduling, printers, processes and memory usage.
A handful of games and dozens of utilities for managing PL's activities, life cycle and appearance.
Additionally available packages include:
Gaim chat client.
GIMP photo editor and other image manipulation and viewing tools.
Additional development tools, including additional TCL/TK tools/libraries, Python and full bash 3.1 interpreters.
Additional media applications.
C/C++ compilers and libraries.
And, too many more applications to list here.
Not bad! And, you don't need to start with the standard core set of applications. Through a process documented under “Puppy Linux Unleashed” (www.puppyos.com/puppy-unleashed.htm), you can create a customized distribution from more than 500 packages designed to run under PL. The PL community puts the total number of available applications at more than 1,000.
- Integrating Trac, Jenkins and Cobbler—Customizing Linux Operating Systems for Organizational Needs
- Tech Tip: Really Simple HTTP Server with Python
- EdgeRouter Lite
- Non-Linux FOSS: Remember Burning ISOs?
- Returning Values from Bash Functions
- Using Django and MongoDB to Build a Blog
- Cooking with Linux - Serious Cool, Sysadmin Style!
- RSS Feeds
- Hack and / - Linux Troubleshooting, Part I: High Load