Puppy FAQ

Many thanks for your patience with my learning curve. This
is a great community, supporting an elegant Linux distro. *

You may find the answer to a question by doing a search of the Puppy Discussion Forum or the Wiki. The Wiki also has a FAQ page: HowToUsePuppy
I have answered just a few common questions on this page.
Page updated: June 3, 2013.

Q: New user

I have just burnt Puppy (to CD) and booted him. Could you advise what I should do next to properly learn how to setup, configure and get the best out of Puppy?


I recommend two things: explore the menu and find out what is there, and go to "Menu -> Help" in the menu (see "Menu" button bottom-left of screen) and read through the HOWTO documents.
Many people assume that there won't be much documentation built-in to Puppy, especially if they have used any of the other 100 - 170M tiny live-CD distros. However, Puppy has almost 3M of HTML and text documentation files, available via the Help menu item.
The HOWTO documents are particularly helpful to steer you in the right direction -- for example, although setting up an Internet connection is simple, it is helpful to read about it first. Ditto for setting up CD/DVD burning.

If you can't find out how to do something, and wireless networking comes to mind, go to the Wiki or search the Forum. Puppy enthusiasts are contributing vast amounts of information to the Wiki and Forum daily. As a last resort, ask a question on the Forum.

Wiki URL: http://www.puppylinux.org/wikka/
Main Forum: http://www.murga-linux.com/puppy/

Q: How do I save my personal files and settings?


The very first time that you boot Puppy from live-CD (or other media such as a USB stick), all of the Puppy files will load off the CD (or other media) into RAM and Puppy will run totally in RAM. When you shutdown for the first time (see Menu -> Shutdown), Puppy will ask you where you want to save the session, that is, your personal files and settings. Puppy will see what is available and will display a menu and you just choose what you want. It's pretty simple. You can choose to save to the hard drive, or a plug-in USB drive -- in some cases even a floppy disk.

A qualification to the above sentence: if you boot Puppy from live-CD or internal hard drive, you will have the option of creating your save-file on the hard drive or any plugged-in USB drive, or anything else, such as an SD card.
However, if you boot from a USB stick, you will only be able to create the save-file on the USB-stick.

Puppy will create a single file, named <something>save.3fs (the "something" differs with different puppies), in which to save your personal data. If this file is created on a hard drive partition, it does not interfere in any way with whatever is already on the hard drive. So, if you have Windows installed on your C: drive, no problem, Puppy can create his *save.3fs file on your C: drive and when you run Windows it will just be an ordinary file. In other words, it should not upset the Windows installation at all.

Q: Installing packages

Okay, I have booted the live-CD. Do I have to install Puppy to hard drive to be able to install the extra packages?


Not at all! There is absolutely no need to install Puppy to hard drive, and many Puppy users just run Puppy from the live-CD. Puppy has an application installation system named the Puppy Package Manager, available from the Setup menu. Any package that you choose to download and install will go into Puppy's *save.3fs file, which is permanent storage on the hard drive.
I recommend that you read-up on the package management system: Package management

Q: NTFS partition

I have Windows XP installed on my computer, and the hard drive is partitioned with a single NTFS partition (my C: drive). When I shutdown the first time, I chose the NTFS partition to create the *save.3fs file (my personal storage file), but it didn't get created. Why doesn't Puppy work with NTFS?


Puppy has full support for NTFS partitions, however, Puppy does have a problem if he thinks the NTFS partition has something wrong with it. This could be simply that you did not shut Windows down properly the last time that you used Windows.
Unfortunately, not-shutting-down-properly is not so uncommon with Windows -- or it may be that you just turned off the PC without going through the proper shutdown sequence!

After you have created a *save.3fs file, when Puppy is booted on future occasions, Puppy will search the computer for the *save.3fs file, and if found will then use it. However, if Windows was not shutdown previously, Puppy will be unable to access the pup_save.3fs file. So, this is an ongoing issue.

Note, this problem does not apply to Windows 95 and 98, as the VFAT filesystem is used (Windows XP can also be installed on a partition with VFAT filesystem, but the default is NTFS). Puppy should be able to fully access a VFAT partition even if Windows did not close down properly.

A technical point: Notice I use the words "partition" and "filesystem" interchangeably above. Strictly though, your C: drive is a partition of the hard drive, and NTFS is a filesystem in that partition. A filesystem is the framework for creation, manipulation and deletion of files and folders.

Q: Don't understand when to mount a partition and when not to

I have been reading about Linux and it seems that to use a drive partition, I have to "mount" it, but I'm unclear about the situation when I want to just play a music CD or video DVD.


Yes, if you are coming from a MS Windows background, this mount/unmount thing does seem to be a hassle. There are however some pretty solid reasons for having it.

Anyway, to answer the immediate question, you only have to mount a partition when you want to access it as a filesystem -- that is, you want to get in and read/write/create/delete files and folders.

When you only want to play a music CD or a video DVD, do not mount it. You are not accessing it as a filesystem. The player program will access it directly without it being mounted. Same thing when you use a CD/DVD burner program.

This issue is usually taken care of automatically in Puppy. You will see drive partition icons on the desktop -- click on one, and the partition gets mounted and the file manager opens. You will then see that the icon has a little "close box" -- click on that, and the partition unmounts.
However, if the drive is, say, a music CD or video DVD, clicking the desktop icon will launch the multimedia player (and the drive isn't mounted).

Note, the above behaviour, in response to clicking on a desktop drive icon, is configurable via the Event Manager in the System menu.

Q: Some major distros like Ubuntu have automounting, why can't Puppy?

In Ubuntu, I plugin a USB drive and it is automatically recognised and mounted. Also, all my hard drive partitions are automatically mounted at bootup.


A common sentiment expressed on the Forum is that people are using Puppy as an easy way to learn about Linux. Manual control over mounting and unmounting is an important part of that learning process.
Besides, automounting can bring its own hassles, and seasoned Linux users tend to prefer having manual control over what gets mounted, when and where.

Furthermore, manual mounting and unmounting is not difficult. Puppy makes it very easy, by just clicking on a desktop drive icon. Or, there is the Pmount program, available from the menu, "Menu -> Filesystem -> Pmount mount/unmount drives".

In other words, Puppy keeps you in control, and this is well worth a small effort to understand what mounting/unmounting is.

Another thing to think about: in Windows, there is an icon in the tray that you are supposed to click-on before unplugging the USB drive. This flushes the filesystem cache, making it safe to unplug the drive -- otherwise you might have a corrupted drive.
By unmounting, which is a one-click operation in Puppy, the same thing happens, the filesystem buffers are flushed. But, the extra step of actually unmounting the drive prevents any further writes, making it safe to unplug the drive at any time thereafter. This is an extra level of data integrity, compared with how it is done in Windows.

Yet another thing to think about: having all drives automatically mounted at bootup, which is also the situation with Windows, is considered by many to be undesirable from a security perspective.

Q: Window manager

Why not use "xyz" window manager?


I get asked this question a lot. Of course you will have your favourite and would like to see that in Puppy. Understandable, but we have been through a very long process evaluating window managers and our current choices are not chosen lightly.

Officially, Puppy is supporting JWM and OpenBox. Some Puppy enthusiasts are supporting IceWM, Xfce and one or two others.

The 'standard' live-CD has JWM. In a nutshell it is because of it's features combined with very small size and speed. However, OpenBox, Xfce and IceWM are available as packages.

It is easy to install packages of your choice, then remaster the CD (that is, create your own customised Puppy). Many people have done just that, and you may find a "flavour" of Puppy already made with what you want (such as Xfce).

The Puppy desktop, with JWM and the ROX-Filer window manager, is configured for a retro Windows 9x look-and-feel. This was deliberate, to make "Windows refugees" feel at home -- particularly those who have used Windows 95 and 98 and never made it to XP. However, the 9x look and feel is only superficial, and under the hood there is heaps of power and convenient features.
Some people have told me that they were initially put off by the "Windowish" look of it, or by the "bland" appearance. Invariably though, they found the user interface to be superb after using it for awhile.

A further comment on the "bland" appearance. If you have come from XP, you will be accustomed to things fading in and out, popping up, fancy shapes for windows, sound effects. This "bling" is even more so in later releases of Windows, such as Windows 7. Beware though, most of this is just hype, marketing hype. Remember the old saying "all that glitters is not gold" (attributed to Shakespeare I think). Yes, the Puppy user interface is utilitarian, and proud of it!

A technical note: the Puppy desktop is achieved by a combination of JWM and ROX-Filer. The former manages windows and the tray (and the main menu), while the latter manages the rest of the desktop, the desktop icons and the background wallpaper. If you want to know about theming for these, read here.

Q: Which small distro is better?

Is Puppy better than Damn Small Linux, Feather Linux or Austrumi (etc.).



Ha ha, there used to be quite a long answer here, in which I compared features of various tiny 100-170M distros. But, why not just own up, Puppy is better. But then, I'm the developer of Puppy, so what answer do you expect!

Seriously, "if the hat fits, wear it". Try the others, use the one you like best. Do be careful of superficial assessments though -- some reviewers are guilty of this. Use a distro for a few days, try doing all the things that you would want to use a distro for.

Yeah, and don't forget that Puppy is only 100-170M. Bear that in mind when you're comparing a 700M distro! (actually, there are many testimonials that Puppy is better than most 700M distros)

The Puppy Wiki has a page with links to reviews of Puppy.

Q: USB storage for my personal data

I am booting Puppy from the live-CD, but I don't want Puppy to keep the personal data "pupsave.2fs" file on the hard drive. I would like this file to be on a USB pen drive. Can I do this?


No problem. The first time that you shutdown Puppy, after booting from live-CD, plug-in a USB pen drive and you can save to it.

Another alternative is that you can install Puppy totally onto a USB Flash drive. In Menu -> Setup you will find an entry "Puppy Universal Installer" -- this enables you to install Puppy to many different media, including USB.
One reason for not installing Puppy totally into a Flash drive is that some PCs cannot boot from USB -- look in your PCs BIOS setup to find out if this is supported.

Q: Security concerns

I have read that it is unwise to login as "root" for normal usage, such as surfing the web. I am concerned that Puppy logs me in automatically as root and I cannot run as a non-root user. Isn't this a security weakness?


Some initial comments:

  1. Every time you boot Puppy, it's almost as though you have done a fresh install, as the entire filesystem except your personal data is reinstalled from two files, initrd.gz and pup_xxx.sfs. Yes, a virus could hypothetically get into your *save.3fs file, but we can flush that out when doing a version upgrade or by doing a simulated version upgrade. Logging in as non-root does not prevent your personal files from getting infected.
  2. Puppy was originally intended to be a "client only" environment, which is fairly easy to make secure when surfing, even without a firewall:
    The site www.grc.com has ShieldsUp!, a product that will test the security of your computer while connected to the Internet. ShieldsUp! basically performs 3 tests: "file sharing", "common ports" and "service ports". Without the firewall running, Puppy "failed" the second two tests, as although all ports are "closed" they are not "hidden". Also, Puppy responded to ping requests. These failures are not necessarily a problem and Puppy is still secure.
    However, I then ran the "Puppy Firewall Wizard" and accepted the default totally secure mode, then rebooted. I am connected to the Internet by dialup modem and using Mozilla. ShieldsUp! now reports that my computer is totally absolutely 100% invisible. It simply doesn't exist (apart from providing its IP address and responses of the browser). All ports are in "stealth" mode, meaning Puppy doesn't respond to any probe, nor does Puppy respond to pinging.
    Qualification: My tests were with a direct connection to the Internet. If connecting via a LAN or router-modem then the ShieldsUp test will be of the LAN server or router-modem, not your PC.

There is a lot more to it of course, and I have written a separate page that explains why running as root in Puppy is "safe". Please read this:

About root, spot and fido


Q: Clipboard

What do I need to know to use the Clipboard in Puppy?


Puppy does not have quite the same seamless clipboard integration as in MS Windows. Basically, you can transfer plain-text only between different applications, but within the same application you may be able to transfer more than plain text.

Unlike Windows, which just has one clipboard, Linux has a clipboard plus a "selection buffer". The clipboard in Linux works like the clipboard in Windows. The selection buffer is also a kind of clipboard -- it contains whatever text is currently highlighted.

Seasoned Windows users will know of the keyboard shortcuts to copy, cut and paste from and to the clipboard. The same shortcuts are used in Linux. The standard keyboard shortcuts ctrl-c (copy to clipboard), ctrl-v (paste from clipboard) and ctrl-x (cut to clipboard).

However, in Linux you can also paste from the selection-buffer, by pressing the middle-mouse-button on your mouse -- or, if you only have a two-button mouse, press both buttons together.

Some older Linux applications, such as the Rxvt terminal (see the icon labeled "console" at the top of the screen), only work with the selection-buffer. But, you will find that is fine -- for example, if you want to copy and paste in the terminal, just highlight some text, anywhere, then at the terminal prompt press the middle mouse button -- voila, pasted!

There are various little clipboard managers. Most Puppy builds have Xclipboard and Glipper, that keep a history of clipboard contents -- look in the Desktop menu.

There are a few older applications that kind of live in a world of their own as far as the clipboard is concerned. Amaya for example. Amaya has its own internal clipboard system and does not use the main clipboard, or rather it does only partially.

Q: Spaces in filenames and directory names

Is it alright to have spaces in directory (folder) and file names?


When I first wrote this FAQ, I advised to avoid using spaces in folder and file names, as it breaks some applications. Yes, but this situation has matured considerably, and it is generally OK now to have spaces. Though, I would still recommend keeping folder names without spaces.

Back in 2006 I wrote this:

In theory yes, in practice don't. There are some applications, and some scripts (including some that I wrote) that misbehave if a space is encountered in a filename or path. I know that spaces are "normal" in Windows, but it is good to get out of the habit when using Linux. Use underscores "_" or dashes "-" instead. For example, "/root/my-applications/".
After all, Internet URLs do not allow the space character, so it is consistent to have this restriction for local "URIs" (pathname/filename).

Changing the subject slightly, here are some related issues:

Another trap for the unwary is case. That is, "A" is different from "a" in Linux. Linux folder and filenames are case-sensitive.

While I'm thinking of traps for the Linux newbie, here's another. Say that you open a Rxvt terminal window in directory /root/ and in that directory you have an executable program that perhaps you have downloaded. let's call it "Demoexe" -- I've even given it a capital letter!
To run it, type this (where the # is the prompt, so don't type that):

# ./Demoexe

Coming from a DOS/Windows background, you might think that typing just "Demoexe" would run it, but not so. Linux will search for the file in the directories in which executables are kept, but will not look in the current directory. You have to append the "./" which is the path for current-directory.

Q: Why not use Firefox instead of SeaMonkey?

"My suggestion would be to replace the ugly/heavy Mozilla SeaMonkey suite with Firefox & Thunderbird - leaner, meaner & prettier"


This question, or some variation of it, gets asked again and again on the Forum.
Yes, Firefox web browser, Thunderbird email and news client, and Kompozer HTML editor would provide most of the functionality of SeaMonkey. The SeaMonkey suite, with all of this functionality, is about 11M compressed, whereas the separate applications are each about 8 - 11M compressed. Ahem... I wrote this originally back in 2006, but SeaMonkey and Firefox have since grown into monsters -- double those figures for 2013.

In what way is SeaMonkey inferior to the separate applications (Firefox, Thunderbird, Kompozer)? IT ISN'T! Firefox, Thunderbird, etc., are forked from Mozilla source. Although they are being developed as separate projects these days, synchronisation does occur. However, some of the separate products are significantly different.

Why are the separate applications so big compared with the SeaMonkey suite? Simply because the SeaMonkey suite has a lot of common code shared by each module, whereas the separate applications have to duplicate that code. This creates a gigantic size bloat, not in the spirit of Puppy.

However, some builds of Puppy do have something other than SeaMonkey, such as Firefox, Chromium or Opera, and often a lighter mail & news client such as Sylpheed -- though they usually do not have any WYSIWYG HTML editor.

Q: Where do I get the source code for Puppy?

Puppy is of course created from binary (compiled) packages, so where do the original source packages come from, and how are they compiled?


We first need to ask another question: "what makes Puppy Puppy?" In other words, what is it that distinguishes Puppy from other distros and makes Puppy bootup fast, autodetect the hardware, save sessions and so on? The answer to this is to be found here:


The Woof build system creates something unique, totally different from any other Linux distro. I repeat, totally unique.

Having said that, Puppy can be built from the binary packages of any other distro. This gives us binary compatibility with the package repositories of that distro.
But once again, it must be emphasized that this in no way compromises Puppy's uniqueness. It does not make Puppy a "clone" in any respect whatsoever of that other distro.

Puppy can be built from any binary packages, even ones that we have compiled ourselves. Wary Puppy is an example of this -- I compiled all the packages from source using the T2 system.

So, you need to understand that a Puppy can be built with binary packages from many different places. Which does pose a problem if we are to host all source packages, to keep compliance with some GPL licenses.

We do, however, endeavour to do just that.

If you are interested in downloading the original source packages from which Puppy is created, URLs are given here.

Q: Non-English support

English is not my native language and I would like to use Puppy in my language. Is this possible?


Yes, "langpacks" are available for some languages, and there is a very easy (well, relatively easy compared to other distros) method to create a langpack for any other language.

At first bootup, the QuickSetup window asks for your locale (language) and will automatically offer to install a langpack if there is one for your language. Or, it can be installed anytime after, via the Puppy Package Manager, in the "Setup" package category in the "pet-noarch" repository.

If you are interested in creating a langpack for Puppy, there is a "HOWTO Internationalization" page in the Help menu in Puppy. It is also available online in the Fossil Woof repository: online HOWTO Internationalization

Q: Compiling source code

I downloaded a source package, but was unable to compile it.


All of the files needed to turn Puppy into a complete C/C++/vala/Genie/BaCon compiling environment, are available in a single "package", that we call an SFS file -- and I must emphasize this, you get everything, no hassles, ready to go.
Unlike other distros, where you are never quite sure whether you have all required "dev" packages (especially if they are optional -- meaning, the runtime library might be there, but not the dev part, so the package that you are compiling might not link against it, and you lose some functionality of the app you are compiling, without even realising it -- this is a very common scenario in other distros such as Ubuntu, Debian, etc.).

We refer to this SFS file as the "devx" file, as it is named something like *devx*.sfs.
It is very easy to install this devx file: just click the 'install' icon at the top of the desktop -- then you will see a button to install SFS files, and also a link that introduces the concept of SFS files.

Or, here is a direct online link that introduces SFS files: Package Management

Introductions to compiling in Puppy: Source code compiling
Introduction to coding in Puppy: HOWTO write programs

Q: How do I get involved in the Puppy project?


Please read this page: How the Puppy project is run

Q: May I release my own distro based on Puppy?


Yes. One basic request is that you choose a name for your distro that provides sufficient "product differentiation" from "Puppy", "Puppy Linux" and "PuppyOS". There is a thread on my News Blog that elaborates on this:
How to name your Puppy distro.
Some acceptable names already in use are "GrafPup", "MeanPup" and "Hacao Linux". There is even "Toutou Linux", which is the French word for "puppy".

Another request is that your project site fully acknowledge myself, Barry Kauler, as the original developer and current maintainer of Puppy and there must be a link to my website, puppylinux.com, and to the community site puppylinux.org.

Q: What are the legal details?

Can you please explain to me more clearly the copyright, trademark and any other restrictions of Puppy?


Puppy has software with a variety of licences, mostly GPL or LGPL, some closed-source (but free). The "Help" page (/usr/share/doc/index.html) in every release of Puppy has this statement:
Legal notice:
I, Barry Kauler, established the 'Puppy Linux Project' in January 2003, first website and product release 18-June-2003, and I have trademark claim to the name and typed drawing of 'Puppy Linux', 'PuppyOS' and 'Puppy' as it relates to "computer operating system software to facilitate computer use and operation", under Federal and International Common Law and Trademark Laws as appropriate.
Programs in Puppy are open source (except where noted above), and licences of individual products are duly acknowledged. The name Puppy Linux", also known as "Puppy" and "PuppyOS", and all artisitic creations thereof, are copyright (c) 2003,2004,2005,2006,2007,2008 Barry Kauler.
Very simple, use entirely at your own risk. Barry Kauler accepts no liability or responsibility whatsoever, and you use Puppy with this understanding.

To clarify, the following images and names have ownership restrictions:

Notice: This is a logo for Puppy, also known as Puppy Linux and PuppyOS. Permission is given to use this logo, however it must be displayed alongside a link (or link embedded in image) to puppylinux.com. Please read the next question for further clarification

Notice: This image is my avatar, currently used on the Puppy Forum and my blog (puppylinux.com/blog). As it is an alias of myself, all rights are reserved.
Copyright (c) Barry Kauler 2006.

Puppy Linux
Notice: I, Barry Kauler, established the 'Puppy Linux Project' in January 2003, first website and product release 18-June-2003, and I have trademark claim to the name and typed drawing of 'Puppy Linux', 'PuppyOS' and 'Puppy' as it relates to "computer operating system software to facilitate computer use and operation", under Federal and International Common Law and Trademark Laws as appropriate.

Many of my web pages have an explicit legal message at the bottom, as follows. However, if a page does not, it is still owned by myself and all rights are reserved:
(c) Copyright 2008 Barry Kauler, all reproduction rights reserved.
My point of view is that a website is a "totality", an artistic creation that includes the domain name. It is wrong to copy some else's web pages to your own site, unless you have explicit permission.

Please note that the images, names and typed drawings documented above do not have to be explicitly registered as a trademark in your country. In the USA, Federal registration is not required to establish rights in a trademark, as Common Law rights arise from actual use of a mark. This also applies to most other countries.
Also in most countries, a (c) Copyright statement in any document or artistic work is sufficient to reserve all rights to the owner, and the work may not be reproduced without permission of the owner.

There is also a legal page for Puppy Linux:

Q: There are many Puppy "logos". Which one should I use?


In early 2008 we finally settled on a "core logo" for Puppy, designed by forum member 'rastapax', shown here:
corelogoFull-size 800x600 png image here.

This is the essential design that identifies the website or product as being "Puppy-related". We then embellish this basic design on individual sites. For example, puppylinux.com has the logo shown below, in any choice of colors:

Thanks to rastapax, afgs and feverfew for creation of these designs.

The above are 48x48 pixels. They are named 'puppylogo48-*.png'. Larger 96x96 logos are available at the same URL, puppylinux.com/puppylogo96-*.png, where * can be aqua, blue, brown, fawn, green, grey, orange, red, violet, and white.
A couple of larger 320x320 pixel versions are puppylinux.com/images/puppy_button_320x320.png and puppy_button_transparent_320x320.png

The above buttons must always be used in reference to the official Puppy site puppylinux.com and the "official" Puppy Linux live-CD releases. Other designs, based on the core rastapax image or any other, are to be found associated with other Puppy Linux related sites, and these logos must always be used in reference to those sites. Basically, you should respect someone's prior use of a particular design associated with their Puppy-related site, puplet (custom build of Puppy) or PET or SFS file.

There is also a range of 572x572 3D images. The URL is http://puppylinux.com/images/pup3d-*.png, where the * can be blue, cyan, green, grey, magenta, orange, red or yellow.

If you want more Puppy-logo artwork and further ideas, please visit this forum thread:

* Extract from Puppy Forum.

HOME: puppylinux.com

Copyright notice: (c) Barry Kauler 2006, 2013. No part of this page is to be reproduced anywhere else. I have found that there is a problem where parts of my web pages are being inserted at other sites, then not updated, whereas I am updating my pages regularly. This is not a desirable situation, so please just link to my pages.