|Getting to know Puppy Linux
by Michael C. Barnes (May 18, 2005)
Foreword: In this informative article, guest columnist Michael C. Barnes provides an introduction to Puppy Linux, a "small Linux distribution" that offers an "amazing" combination of speed, size, completeness, and ease-of-use. Starting out more as a demonstration distro than a full desktop OS, Puppy Linux has rapidly "evolved into a real workhorse distribution whose completeness is astonishing," and that "should be part of any organization's enterprise tools," Barnes says.
Getting to know Puppy Linux
by Michael C. Barnes
Migrating to Linux
Linux has reached now a point where the better Linux distributions are mature enough to replace Microsoft Windows for many enterprise users if the organization wants to do so. There are many reasons for them wanting to do this. Linux offers better protection against viruses. It provides the organization with more control over their infrastructure. From the experience of using Linux in my own company, I can attest that Linux can save a lot of money. After running my business on Linux for over six years, not one of our Linux based computers has ever been infected by a virus. However, there are other reasons to use Linux in an organization. One of the most compelling of these is when Linux provides a capability to an organization that they don't currently have.
Over the past two years, during which I have been experimenting with over 100 different Linux distributions, I have found a handful of Linux distributions that I use over and over. My favorite Desktop Linux distribution is SimplyMEPIS. The combination of SimplyMEPIS and CodeWeavers is a complete replacement for Microsoft Windows. There are many specialized Linux distributions that do everything from clean viruses off of Windows based PCs, convert PCs into thin clients, and provide a TiVo-like capability for PCs equipped with a DVD ROM and a hard disk.
Good little Puppy
One of the most useful, specialized Linux distributions I have found is Puppy Linux. When I first encountered Puppy Linux, I was amazed by its speed and size. However, at that time, the applications that came with Puppy were too basic to be useful. I was impressed by how small (350 KB) the browser Dillo was, but I never felt comfortable using it as my standard browser. As Puppy matured, it began to encompass more and more software. Amazingly, however, even with all its additions, the entire distribution still occupies less than 64 megabytes!
Each time a new version of Puppy was released, I would think about how much better it would be if they added this application or took away that one. As much as Puppy improved, I always thought the choice of FVWM95 for the window manager was not the best choice. I understood that FWM95 was fast, small, and looked very much like Windows 95. Even so, I felt that the interface looked a bit stark. Yet, FVWM95 does provide Windows users with a familiar-looking interface. And FWM95 is very fast. (I tested it on a 133MHz Pentium and the performance was quite good.)
Puppy grows up
Puppy Linux has been evolving. When I tested an early version of Puppy, I was amazed at how small Puppy was, although I was not impressed with the usability. The applications that were available then were all very much stripped down. However, I did think that Puppy would make a very good Linux to deploy in embedded applications.
As time went on, each new version of Puppy amazed me more and more. When applications such as Mozilla, AbiWord, and Gaim started showing up, I was quite impressed. Over the past two releases of Puppy, Puppy has gone from curiosity to a real desktop contender.
The current version of Puppy is so well appointed with applications that it can serve as a dedicated desktop replacement. What is astonishing is that the applications included in Puppy Linux are the same applications that would be included in a full-size Linux distribution, if we decided that we didn't want to use OpenOffice.
Before discussing Puppy Linux in more detail, two other small Linux distributions are worthy of mention. These are Damn Small Linux and Feather Linux. Like Puppy, both of these distributions are small, and there are situations in which either might become the distribution of choice. In particular, both Feather and Damn Small allow the user to add OpenOffice and other complex applications. If the user wants to start small but grow a larger system by only including the applications they need to deploy, then either Damn Small or Feather might be preferable.
For a distribution that provides the typical tools that a user might need to do their work, Puppy Linux is the superior small Linux distribution. Puppy Linux has two other very strong points that make it the small Linux distribution of choice. The first is the ease with which Puppy Linux can generate a bootable USB thumb drive version of itself. Both Damn Small Linux and Feather Linux can do this, but you need to download SYSLINUX and create your own boot partition on the USB thumb drive.
There are many live Linux CD distributions. These distributions boot from a CD and run all of their applications from the CD. Puppy Linux loads everything into a RAM disk. The boot time from the CDROM is slow, but once Puppy Linux loads, everything works at blazing speeds.
The fact that everything loads into RAM offers another advantage. It is possible to use Puppy Linux to play CDs and DVDs, even on a computer with a single DVD ROM.
Puppy does tricks
Despite Puppy's compact size, it is well appointed with full-fledged applications. The version that I am using to type this article comes with the Mozilla Suite. The Mozilla Suite features the integrated calendar, email, and web page composer, as well as Mozilla's very sophisticated email client. Two other versions of Puppy are available. One comes with Mozilla, while the other comes with Firefox.
Puppy Linux is amazingly well integrated. Macromedia Flash is preinstalled. What is even more impressive is that the integrated gxine is also very well integrated into the browser. Many audio and video streams will automatically load and run in gxine.
AbiWord is the default word processing application. AbiWord is a virtual clone of Microsoft Word. AbiWord can read and write Microsoft Word files. Users can optionally download the free version of SoftMaker's TextMaker. SoftMaker sells a software suite that is available for several operating systems. The commercial version of TextMaker is a very good, high performance alternative to Microsoft Word. The filters for Microsoft Word in TextMaker are superior to the filters included with AbiWord. The commercial version of TextMaker is of higher performance and more compatible to Microsoft Word than AbiWord is, but the free version doesn't have spell checking and other features included in AbiWord.
Puppy Linux with AbiSoft Word Processor
(Click to enlarge)
Puppy Linux provides the free version of SoftMaker's PlanMaker. PlanMaker promotes itself as 100 percent compatible with Microsoft Excel. The free version is fully featured, but offers a limited number of rows and columns which is enough for most uses.
The latest version of Puppy Linux has another new trick. Puppy Linux allows you to save your data on a CDROM version of itself. That means that you can create a live Puppy Linux CD that has all the documents you need to carry with you and so long as you have access to a CD Burner, you can work with and update those applications on the CDROM that you carry. You can set up your mail application and save all your bookmarks.
In Puppy Linux, at the top of the Start Menu is a menu selection for Setup. This is the place to start to get everything working. One of the options is Wizard Wizard. The Wizard Wizard is a good place to start to set up all your hardware configurations for Puppy Linux.
To create a Puppy Linux boot thumb drive, you simply choose the option "Install Puppy USB card" under Setup on the Start Menu. The script will give you the instructions for creating the thumb drive.
Puppy Linux works by using the UMSDOS file system. This is a virtual Linux file system on a VFAT file system. Therefore, all of the files you create using Puppy Linux are compatible with your existing Windows system. So if you use AbiWord to create a word processing file and save it as a Microsoft Word-compatible file, you can then access that file on your Microsoft Windows system. These files are also accessible on a Linux system.
Puppy Linux has a utility that will mount hard disks, CD/DVD ROMs, floppies and other devices. It is possible to access your system's hard disk without knowing the Linux naming convention. The user can access their hard disk files by accessing the /mnt/home directory.
Some of the many standard applications available on Puppy Linux
(Click to enlarge)
The screen shot shows some of the applications that come standard with Puppy Linux. All of these applications are available on either the live CD or the USB versions. All of these applications load into RAM so that once Puppy Linux boots, the applications run very fast.
The top window is the free version of PlanMaker. PlanMaker is promoted as 100 percent Microsoft Excel compatible. The free version is fully featured but has a limited number of columns and rows. To the right of the PlanMaker Window is Imposter. Imposter is an OpenOffice Impress player. Below PlanMaker is a Mozilla Web Browser and to the right of that is the Mozilla Mail Client.
One of the most useful features built into Puppy Linux is the thin client capability. Puppy Linux includes Rdesktop, which can be used as a thin client with Microsoft Windows XP, 2000, NT and Windows 2003. If I wanted to access my Windows XP system inside my own network, I would put my server's IP address in the data entry block below the heading server. For my system, this would be 10.0.0.11. For the options heading, I would enter -a24 (for 24-bit color) and -f (for full screen). As soon as I selected OK, the screen would display my Microsoft XP login screen. Once I logged in, it would be as if I were working directly on my Microsoft XP server.
Puppy Linux also supports a limited number of wireless devices. I used a Prism 2 based PCMCIA card with my laptop and was able to convert my laptop into a wireless thin client to access my Microsoft XP system that was in my office. Puppy Linux can be used to convert aging computers and laptops into useful thin clients.
Puppy Linux also includes Virtual Network Client (VNC) which allows you to create a stateless client to access a variety of operating systems. VNC is available for almost every operating system and is even available for many PDAs.
Teaching Puppy new tricks
As complete as Puppy is, additional applications can be added. The live Puppy CD comes with some applications that can be added. One of the most useful is Skype. It is very useful to be able to load Skype with all of your contacts onto a USB thumb drive or onto a Live CD and then boot up on virtually any computer that supports booting from CDROM or from a USB thumb drive. For users who have enough space, it is possible to add Java, which makes Puppy Linux one of the most compact ways to distribute a Java enabled OS.
Puppy Linux enhanced with Skype and ABS
(Click to enlarge)
To add applications, go to the Start menu and and choose PupGet Package Manager. A green window will pop up. Choose the first button, Install_or_remove-pkgs. A list of applications that you can add will pop up. You can then highlight and add the applications. You will then be asked to pick the site from which these files will be downloaded.
To install the applications, use the file manager, Rox to find the applications with a .pup extension. Click on these with your cursor and the application will install itself. Once the files are installed, you will have to stop X windows in order to access these new applications. You can stop X Windows by pressing shift-ctrl-backspace. You can start up X Windows typing in the command startx.
Puppy Linux with gxine playing DVD
(Click to enlarge)
If you have more than 64 MB for storage, it is possible to dress up Puppy. Go to this Web page, and scroll down to the section on WindowManagers. Click on "IceWM Full" and download it. After that, grab "IceWM Menu for Puppy" and "XP Theme for IceWM." You might want to download some of the other themes as well. Use the filemanager, Rox, to install the applications you downloaded.
You will need to get out of X Windows by hitting alt-ctrl-backspace. Once you are back at the command line, type in startx. Puppy will now have a new look and feel. You can then test out the available themes under the Start Menu --> Themes. IceWM not only looks better, it also allows you to use alt-tab to scroll through your running application
Puppy Linux with IceWM using Windows XP theme
(Click to enlarge)
Using Puppy Linux brings back many memories of my early years using computers. Seeing Puppy Linux perform so well as a desktop Linux and taking up only 60 MB storage, one is reminded of how elegant programming used to be when computing used to be fun and useful with very little RAM and very little storage.
While some will argue that disk and RAM are cheap, generations of computers are being orphaned and the end user isn't seeing any improvements in either the application or environment. Puppy Linux not only provides the means to bring older computers back to life, it also provides the tools to create dedicated devices that can operate without a hard disk. It is possible to create media players, web terminals, email terminals, thin clients, x-terminals, and even Skype VoIP stations with very minimal hardware.
Thanks to a small distribution like Puppy Linux, it is possible to set up a fully functional workstation with a motherboard, low-cost processor, power supply, case, 128 MB DRAM and either a 128 MB thumb drive or a CDROM drive, at a cost of about $150 (USD) without a monitor.
Although Puppy Linux began life more as a demonstration than a full Linux distribution, it has rapidly evolved into a real workhorse distribution whose completeness is astonishing. Yet despite that evolution, Puppy Linux's focus on ease-of-use remains one of its major strengths -- to the point where it provides more hand-holding than some experienced Linux users might like.
Open Source Purists may object to Puppy Linux's choice of mixing Open Source and Closed Source solutions. However, I believe that Puppy Linux's creator, Barry Kauler, has done the right thing in focusing on providing the highest performance applications without getting bogged down with the "all Open Source" obsession. The result is an elegant, high performance Linux distribution that should be part of any organization's enterprise tools.
Puppy Linux is a clear example of a Linux that offers a capability that Microsoft does not currently offer. Puppy Linux is a complete distribution that is small enough to carry on a business-card-sized CD, or on a USB Thumb Drive. Puppy therefore doesn't go "head-to-head" with Microsoft Windows or with other Desktop Linux distributions. Rather, it is a tool that allows organizations to deploy Linux applications on hardware that has been antiquated by Microsoft or deploying applications in a new way -- without needing a hard disk.
Want to try get to know the Puppy? Get started here.
Do you have comments or questions on this article? Let us know what you think in our talkback thread:
Join the discussion
About the Author
Michael C. Barnes is currently president of NorhTec. He has over 20 years experience with computers and another 10 years experience with more primitive networks, to include paper tape and morse code. Additionally, he has 18 years of experience with various Unix systems and spent 13 years with Sun Microsystems.
Barnes became fascinated with GNU/Linux turned the common PC into a Unix like workstation. By 1998, GNU/Linux surpassed the desktop environments offered on traditional Unix workstations. When GNU/Linux is combined with low-cost x86 platforms, organizations now have the power to create enterprise computing for the small organization.
Born in Kentucky, Barnes now lives in Bangkok, Thailand with his wife, Linda Kubota-Barnes, and his daughter, Karen Barnes.
Other articles by Michael C. Barnes
(Click here for further information)