The Efficient, Friendly Puppy Linux
Buy Puppy Linux on USB
Below you see the screen display of Puppy Linux 5.10. It's called
Lucid Puppy since it's derived from the Lucid Ubuntu distribution. This
screen shot is shrunken a bit to better fit on the web page, but you can click
on it to get a full sized view.
As you can see it's a very esthetically pleasing interface. Notice also that
it's an iconic system, with application icons on the screen. Incidentally,
the icons you see are the ones in the basic Lucid Puppy distro -- I haven't
added any additional ones. That's just an example of how functionally
packed Puppy Linux is.
Older versions were based on the SLAX version of Linux. Puppy Linux 4.31 was
not derived directly from anything, but a unique concoction. The only dilemma I
found with that was finding some of the more arcane applications I like. They
weren't in the Puppy archives. I'm excited by the 5.10 version in that it is
derived from a distribution that has a multitude of applications available.
You can see that the desktop in Puppy Linux 5.10, based on the popular yet
light-duty JWM window manager,
also has conveniences that a typical Microsoft Windows user might appreciate.
It has some handy iconic utilities at the right of the screen, including a
trashcan, file archival utility, and a screen lock utility. At the bottom of
the screen is a toolbar with a Menu Button. Clicking on the Menu button
will bring up the menu already packaged with a substantial number of utilities,
helpers, and applications. Right clicking anywhere in the background also
brings up the menu.
If you are a Windows user, you may wonder what the 4 squares are on the
toolbar just to the right of the launch icons. Linux users will recognize them
as additional work spaces. In most Linux window managers, you can have windows
opened up on more that one work space, and toggle between them. It helps
enormously in keeping work spaces manageable.
Loaded With Pre-installed Apps And Icons
|
At left you see an exploded view of the desktop icons that come with the
Lucid Puppy install.
Hopefully it is obvious that Puppy Linux comes ready
to work, with applications for most things a computer user usually wants
to use.
Most of these applications are quite functional, yet fairly light
in terms of resource requirements. The applications are a good compromise
between function and size.
An explanation of the applications launched by the icons is listed
below:
|
| Icon | What's Launched |
| file | Launches the sophisticated ROX File Manager |
| help | Launches the efficient Netsurf browser on a
handy help page that gives quick links to many setup functions |
| setup | Offers multiple setup utilities |
| console | Launches a terminal window allowing keyboard commands |
| write | Launches the excellent Abiword full-featured
word processing program |
| calc | Launches the Gnumeric spreadsheet |
| paint | Launches the mtpaint program, handy but not heavy in resource requirments |
| draw | Launches the handy inkscape lite drawing program |
| browse | 1st time gives the user a short list of browser options, including Firefox, Seamonkey, Opera, and Netsurf. Pick one and it will be installed for you. After that, the icon will launch your chosen browser |
| email | Launches the light-weight sylpheed email client |
| chat | Launches the universal, instant ayttm chat client |
| plan | Launches the compact but feature-rich osmo personal organizer |
| play | Launches gnome-mplayer, a nice GUI interface to the Linux mplayer utility |
| connect | Helps you get your Lucid Puppy connected to the internet, using either your lan or wireless interface |
| quickpet | Launches a utility that lets you locate and install
many other applications from either the Puppy archive or the Lucid Ubuntu archive |
Easy To Setup With Many Menu Helpers
|
Puppy Linux is designed to be light in resource requirement, easy to use,
easy to install, and able to run completely and permanently from the CDROM
distribution if you wish.
Puppy Linux is so small that if you have at least 256 Megabytes of memory,
it will load entirely into memory. This lets you remove the CDROM, freeing it
up for some other purpose.
Setup and configuration are easily accomplished, as is indicated by the many
options shown on the displayed Setup menu entry. Sound, printing,
networking, video, and more can be configured from this menu.
Notice that also on the menu is an option to install Puppy Linux to a usb
drive. This makes Puppy Linux even handier, as it can be then booted from a
usb stick on any computer that allows booting from usb.
|
Lots More Applications Where Those Came From
Don't assume that the only applications in the Puppy Linux distro are
the icons on the desktop.
As just a quick example, examine the Document menu selection below.
Listed are several easy to use editors, a dictionary program that lets the
user lookup words from many different dictionary options, a PDF viewer,
and a clever utility that converts files of many different formats to PDF
format by way of Abiword.
In addition, you can see that on this menu entry are listed the
OpenOffice word processor and the SeaMonkey HTML composer, both of which I
added after I installed Puppy. The Puppy Linux system automatically entered
them into the menu system after they were installed.
Familiar Window Management With JWM
|
At left you see a normal sized view of the left portion of the Puppy Linux
Toolbar. Like most highly functional desktop managers, the JWM window manager
gives the user a Menu button, some handy quick-launch mini-icons, and a
selectable number of work spaces. Moving to work spaces is as easy as clicking
on one, or using the Alt-1, Alt-2 etc. keys to move to spaces 1,
2, ... respectively.
|
Note also the media icons just above the toolbar. Whatever discs or other
media are available are always immediately displayed in icon form near the
bottom left of the screen. The X shown on the sda1 disk indicates that
it is mounted and is the save file disk. Also shown in this example is
the CDROM. If I plug in a usb stick, an icon will appear for it as well.
Clicking on a disk icon will mount the drive and launch the
ROX file manager on the newly mounted disk.
Get A Witty Astronomy, Physics, Math, Or Linux T-Shirt, Mug, or Poster At Keen Designs
Behind The Magic
Puppy Linux is a marvel in design. With many Linux distros you get a live CD
you can boot and crudely operate from, but it's primarily an install CD, not
really meant to be consistently used from a CD boot. Other distros are
only install CDs, and do not boot directly to a usable OS at all.
Puppy Linux is both a functional boot CD and install CD, and you can choose
to not install at all since it can work effectively from the CD. When you
shutdown Puppy Linux, it gives you the option of saving all the work you've
done in a specially designed save file. This file maintains the
directory structure of where you worked, which will be restored next time you
boot. This file, by the way, can exist on a Linux or a MS Windows
system. So no matter what OS you normally use, you can boot Puppy Linux,
work, and save your work with no impact on the host installed OS.
One of the most magical ways to use Puppy Linux is to install it onto
a USB disc. Then when you shut down the first time, specify (you'll be
given the option) to keep the save file on the USB stick along with the
install. In this way, you have a totally portable OS, neatly and
compactly stored on your bootable USB, complete with saved data. You can
work on most any modern computer with absolutely no impact on the
computer's hard disk install.
So how is it done?
Puppy Linux makes very effective use of the Union FS file management
system. This is a stacking file system that lets different representations of
overlapping directory structures exist, and presents them as a coherent
directory structure. Below is an example display of what the df command
would yield on a Puppy Linux system. It shows a number of /dev/loop mounts,
which are all union fs, overlapping mounts.
The union fs allows a base directory structure to exist in a read-only form,
with a read/write overlay that maps onto it. Whenever a
file is updated, it gets stored in the overlay structure. Making clever use of
this, Puppy Linux has its CD file system in a read-only base directory layout,
and uses the save file as a union fs overlay, which it can save on any
medium you specify.
Each time you boot back into Puppy Linux, you get an un-corrupted read only
system install, and your save file automatically overlaid onto it, revealing
all unmodified and modified as well as new files. It's all transparent to you,
and feels completely like a normal directory structure.
How Is It Different From Most Linux Versions?
Puppy Linux in most aspects is Linux, much as you've experienced it before
if you are a Linux user.
While similar to other versions of Linux in most aspects, Puppy Linux is
simpler in one particular way that you'll notice. It has by default only one
user -- root. It's possible to add other users, but it's initially configured
as a one person system.
In order to better accommodate non-Linux users, it also has a slightly
different directory structure. Many of the old standards are still there, like
/usr/bin, /usr/sbin, /etc, and so on. But to make it more familiar to non-Linux
users, the user root directory has a my-applications directory and a
my-documents directory. Once you get used to that, you're over the
hump.
The newer Lucid Puppy Linux 5.10 distro looks and feels much like the
earlier Puppy Linux distros. But it has one distinct difference that to me may
turn into a big deal. Puppy's creator, Barry Kauler, is a master script file
writer, among other things. And he's been working on a utility he calls Woof, like the daddy of Puppy Woof can be
used to create new versions of Puppy Linux from other existing distros. And as
mentioned before on this page, Puppy Linux 5.10 is derived from the Lucid
version of Ubuntu.
I can't be sure what Barry's intentions are, but one possibility is that
future Puppy Linux versions will have much bigger archives from which to
obtain other software. I was able, for example, to install vim, Yorick, and
links2 directly from the Ubuntu archive. It saved me a lot of looking.
As part of the clever use of the union fs system, Puppy Linux has some of
the larger commonly used utilities already packaged in forms that overlay onto
the union fs directory system. These carry the extension .sfs. For
example, I have an sfs file for the OpenOffice install, one for the Tex text
markup language install, and one for the c programming development utilities
install.
These (and other) sfs files can be placed at the root directory of your
install partition, and Puppy Linux can find them. You can use a boot manager
utility to instruct Puppy Linux as to which of these to always mount at boot up.
This technique is nice because these large applications, installed this way,
don't take up space in your save file.
Installing Puppy Linux
On Your Hard Drive
While Puppy Linux works fine by just booting from the CDROM and having a
save file on your disk, you can choose to install it. Puppy will install using
the classic method, creating the entire directory structure on a hard disk
partition and copying all files there. Of course, this will destroy anything
else you already have on that partition, as with any other OS install. Or,
Puppy Linux can be installed with a much more elegant method.
That method is called the Frugal Install. It's pretty simple, and is
the form that makes the best use of the union fs system. In the Frugal install
method, the installer simply copies the files on the CDROM to a directory on
your install partition (at the root level). It can coexist with something else
already installed on that partition.
The next step is setting up a GRUB boot loader that will boot the
vmlinuz file in that directory, and load the initrd.gz file, also
in that directory. When booted this way, Puppy Linux immediately looks for the
save file, and if found, maps that onto the union fs directory system.
Then it loads the CDROM image, which is also an sfs file.
When installing Puppy to my hard disk, which already has Windows and Xubuntu, I've found it best to boot to Xubuntu and modify its grub.cfg file
and install that, rather than to try building the Grub from within Puppy Linux.
An example of the Xubuntu grub2 entry for Puppy Linux is as follows:
menuentry "Lucid Puppy (on /dev/sda6)" {
insmod ext2
set root=(hd0,6)
linux /lupu-510/vmlinuz psubdir=lupu-510
initrd /lupu-510/initrd.gz
}
|
Of course, you would need to replace the /dev/sda6 reference to reflect
where you placed Puppy Linux, and set the directory name (lupu-510 in example) to reflect the directory name where you stored the CDROM files.
On my Debian Lenny desktop system, the older grub is installed, which uses
the file menu.lst as its setup file. My menu.lst entry for booting Puppy
Linux is as follows:
# Puppy Linux
title Puppy Linux
rootnoverify (hd0,5)
kernel /lupu-510/vmlinuz pmedia=satahd psubdir=lupu-510
initrd /lupu-510/initrd.gz
|
Again, you'd need to adjust the (hd0,5) reference to reflect your install
partition (remember, the old grub starts with partition 0). Also, you'd need to
adjust the directory name (lupu-510 in example) to reflect the name of the
directory where you copied the Puppy Linux CDROM files (lupu-510 in the
example).
It turns out that the Frugal install, aside from being simple and able to
coexist with another install on the same partition, is easy to upgrade. Just
download a new version of Puppy Linux, make another directory at the partition
level, and copy the CDROM files into it. Adjust Grub to either reference this
install instead, or add a new entry and still leave the older Grub reference in
place.
If you install a new version of Puppy Linux with the Frugal method, as with
any other Linux you'll have to also re-install any additional software with the
Puppy Linux package manager utility. The new install will make a new save file.
You can use the ROX file manager to open your old save file and copy any files
you need into your new save file.
On Your USB Stick
Under the Install icon, Puppy Linux includes an install especially
for your USB drive or stick. To make use of it, you need to know a couple
of things:
Have a copy of the Puppy Linux iso file available. The install will
ask you where it is.
The USB drive or stick will be reformatted by the install -- be sure to
save anything you want from it before installing.
|
Personal Experience One, Puppy On An Old Laptop
I started my trek into Puppy Linux land with version 4.31. My driving need
was for an operating system to upgrade my old Win98 era Dell Laptop. I had
managed to get Debian Etch on it a few years back, but wanted to upgrade since
Etch was falling out of support.
So I tried to install Debian Lenny.
No soap.
There were no network drivers on the Lenny install floppies or CD that
worked with any of my PCMCIA network cards. And my poor old laptop CD drive is
just short of giving up the ghost, so installing from a pile of CDs just wasn't
feasible.
Enter Puppy Linux 4.31. Puppy Linux installed quickly and easily from a
single CD, something my old laptop could manage. I did the Frugal install, and
for good measure, did another install on a second partition -- hedging against
a total CD failure. It worked great.
I was worried that my old laptop wouldn't have enough memory to run
Puppy Linux, which needed at least 128MB to load entirely into memory. My
old laptop only has 83MB.
No problem. While Puppy Linux will load entirely into memory if possible,
it doesn't have to in order to function properly. Things load a bit slower
I imagine, but certainly no slower than when using a typical Linux system.
What amazed me most, given all the troubles I had trying to install
Debian distros because of my network dilemma, was that Puppy Linux 4.31
immediately identified my wireless network card, and in minutes I was up
and running. The only problem was that it didn't always bring up the card
after boot, so I created a simple batch file that finished the
job.
However, on that old laptop, even some of the light-duty utilities of Puppy
Linux were a bit much, such as Gnumeric, Abiword, and Seamonkey. But Linux,
being what it is, let me easily solve those problems. I installed the sc
spreadsheet, vim for an editor, and the links2 browser.
The Frugal install gave me another unexpected benefit on my old laptop.
Since I can mount an iso CD image file directly with the mount loop
option as follows:
|
mount -o loop lupu-510.iso /mnt
|
With this technique, I can continue upgrading to new versions of Puppy Linux
without a CD at all, as long as I have a network connection. I can just
download the iso of the next version, mount it as a file system with the
loop mount option, copy the contents to a new directory at desired
partition root level, and adjust Grub. Reboot, and I have the new version at my
disposal.
Given the tenuous nature of the old computer, I don't remove from Grub the
reference to the previous version until I've booted and tested the new version.
All in all, a beautiful solution for a very old computer.
Personal Experience Two, Puppy On A *New* Laptop
|
|
My next experience with Puppy Linux 4.31 was on my new laptop, a Compaq
CQ60-615DX. My first impulse was to just install Puppy Linux on the new Compaq.
I didn't intend to use the Compaq for development like I use my desktops, so it
seemed a good choice.
I ended up with a usable install, but it had a couple of quirks. First
of all, the network driver was barely new enough to handle the wireless
interface built into the Compaq. By that I mean there was a driver for the
new card, but it wasn't fully ripe yet. It would periodically shut down the
link after periods of inactivity -- like one minute.
|
I solved that problem with a small batch utility that would run in the background and (using the iwconfig command) determine if the network had shut down.
If it had, the batch file would immediately bring it up again. With this
little utility I never really noticed the network going down anymore.
The other problem was with the Compaq's display resolution. It is a more
rectangular display with a 1366x768 resolution. Puppy Linux 4.31 didn't have
a driver to accommodate that, so I had to run at 1024x768.
I wasn't satisfied with that so I installed Xubuntu, which had new enough
wireless and video drivers to work properly on the Compaq.
That was fine, but after a few months, I learned that Puppy Linux 5.10 was
released, so I tried that on my Compaq.
Perfect!
No dropouts on the wireless, and the proper screen resolution. I'm impressed.
Update -- Puppy 5.25
In mid 2011 I updated my laptop to Lupu Puppy 5.25. I couldn't be more
excited about a distro. Earlier versions didn't have the optimal driver for
my Compaq laptop's video, but 5.25 does. Installation is easy, in fact,
upgrading is easy. I just replaced the 5.10 Frugal install files with
the 5.25 files then rebooted. The boot process noticed that
my save file was from a previous release, so it updated my save file, and I
was off running. Note, to copy over the files, you need to boot from your
new CD so you can have access to the files on your hard drive.
I did also have to replace the lupu_devx_510.sfs file with the
lupu_devx_525.sfs file to get the c compiler function, then I was good to go.
The easiest system upgrade I've ever experienced. As I recall, about the only
thing I had to repair was to edit /etc/profile to add some path
directories were I'd put some executable files.
There are of course some bug fixes in the 5.25 version which you can
read about at Puppy Linux site.
But what I found most encouraging was the improved package manager. More and
more Ubuntu packages are being prepared to be easily installed in Puppy,
making it more and more a fully capable, though extremely light, distribution.
My only complaint with the package management system is its speed, but I
notice that apparently Barry is cognizant of that and thinking about how to
make some improvements.
I did find that the latest versions of Puppy Linux don't play
well on my old W95 era Dell laptop. But not to worry, I installed
Wary Puppy on it, and even that old laptop has modern functionality
now.
I have a yesteryear, though not old, desktop that runs at 1GHZ and has
about 756MB of memory. I've used Debian, Ubuntu, Antix, and Puppy Linux on
that computer. What I noticed was that with Debian and Ubuntu, the system
load was nearly always over 1, running about 1.2. Guidelines I've found
suggest that your system load should in general be less than the number of
processors you have on your computer. So a load of 1.2 on this single
processor box meant that processes were likely getting bunched up at times
and waiting on processor time.
With both Antix and Puppy Linux, the load drops well below 1 after the
boot process has finished, insuring that whatever I run is less likely to
be impacted by other waiting processes. So now that desktop is also running
Lupu Puppy 5.25, and working like a champ.
Some Final Thoughts
Hopefully this review has given you some insight into the makeup of
Puppy Linux. I'll summarize a few points for you to consider.
Puppy Linux can operate effectively from a CD, and saves sessions to
a special file that's automatically reloaded on next boot.
Puppy Linux is easy to install onto a USB stick, making it an incredibly
portable operating system. Note: it formats the USB drive on install.
Puppy Linux 5.10 and 5.25 load entirely into memory if you have at least
256 MB, making them lightening fast
Installing Puppy Linux to your hard drive with the Frugal install method
is simple. Copy the files to a directory at root partition level, setup grub
as the examples demonstrate, and install grub.
Puppy Linux 5 series is derived from Ubuntu 10.04 Lucid Lynx, and thus has a
bigger archive of additional applications.
Upgrading to a new version of Puppy Linux, especially if you stick with
the Frugal install method, is extremely easy.
|
I use 3 different computers on my network. One desktop is where I
do most of my work, such as creating web pages and graphic designs like those
on my Clever Designs
and Bowling Duds T-shirt
and mug shops. The other computers are a desktop for general use (also used by
others in the home), and a laptop used when portability is important (like
taking astro photos like those at 6 Inch Newtonian
Astrophotos.
I use Debian on my main work station, and it has an attribute that I use
often. On my Debian station, I can do my image or web page work either at the
Debian station, or logged on from my Puppy desktop or my laptop. And while I
could certainly do the graphic and web page work with Puppy on my main desktop,
what I thought I could not do is log on remotely and work just as
effectively.
There is nothing I really do on my Debian system that I couldn't do on the
newest versions of Puppy Linux. I was concerned, however, that the ability
to log onto my Debian system and work from another station would not be
possible should I convert the Debian station to a Puppy Linux station. My
efforts to ssh from the Debian computer to a Puppy computer would only work
for a non-root login.
But I found out that with help from the Puppy Linux Forum folks that I simply had to install an openssh server
package from the Puppy archives and I could, in fact, ssh to a Puppy system
if I knew the password. So now I'm considering working in Puppy Linux even
at my main computer.
Why, you might ask? Because Puppy Linux is so easy to install, easy to
update, and easy to manage, compared to other Linux flavors. Now that the new
Lupu Puppy also connects to the Ubuntu archives, there's little that I can see
that prevents Puppy from working as a main O/S.
|