Puppy Package Manager (PPM)

A "package" is Linux terminology for an application. These are held in online repositories, and you can download and install any package.

How to install

You click a radio-button along the top to choose the desired repository -- usually the left-most one is the one most suitable for your current version of Puppy.

The radio-buttons aligned vertically on the left enable you to narrow the display to a specific category.

Notice the checkboxes labeled EXE, DEV, DOC and NLS. Many Puppy PET packages are split into smaller packages, as follows:

EXE: This is the actual application, you definitely want this.
DEV: This contains development files, only of interest to those into compiling source code.
DOC: This contains the documentation files of the package
NLS: This contains the international language files of the package.

Note that all packages (if you only install the main "EXE" package) support English. The NLS package will add support for other languages, but this varies considerably from package to package. Some packages do not have any non-English support.

Note that PET packages follow a naming convention, like this:

abiword-1.2.3.pet ("EXE" package)

Also note that not all authors of PET packages follow the practice of splitting PET packages into these component parts. In some cases there may be, for example, 'abiword-1.2.3.pet' which has everyhing in it. The reason that the splitting is usually done is to reduce the size of the main EXE package.

When you click on one of the packages displayed in the big window, another window pops up asking if you really want to install the package, and also offers further information about the package -- so you can learn more about it before deciding whether to install it.

How to uninstall

When a package is installed, it appears in the window bottom-left.
To uninstall a package, simply click on it. There will be another window asking you to confirm deletion.

PET repositories

There are various PET repositories. Those on offer will depend on which Puppy you are using, but usually there will be these available at least:

puppy-2: The very old Puppy 2.x series
puppy-3: Puppy 3.x series
puppy-4: Puppy 4.x series
puppy-5: Puppy 5.x series

For your Puppy, you may also have others, such as 'puppy-quirky', 'puppy-wary5', or 'puppy-lucid'.

Generally, use those that seem most appropriate to your version of Puppy. The older ones have packages that may or may not work in your Puppy -- the older the repository, the more likely this may be the case.

We mostly keep the old repositories available, as sometimes there is some old package that you really want to use. But as a general principle, look in the more recent repositories first.

Your Puppy may be built from the packages of one of the other major Linux distributions, such as Debian, Ubuntu or Slackware. In that case, PPM will offer those repositories. They are going to be the most compatible and the ones that you should look in first.


The "Find:" box enables you to search for any file, but note that it only searches the currently-selected repository.

You can type in a partial name, but a match is only found from the left. For example, if you do a search for "pan" you might find this:

pango-1.28.1-w5 Library for layout and rendering of internationalized text
pango_DOC-1.28.1-w5 Library for layout and rendering of internationalized text
pangomm-2.26.2-w5 oo wrapper for pango library
pangomm_DOC-2.26.2-w5 oo wrapper for pango library
panoramixproto-1.1-w5 Panoramix extension headers

But doing a search on "mm" yields nothing, as there are no package names starting with "mm".

However, the Find box will accept '*' wildcards, what we refer to as "glob wildcards". So, type in "*mm" will find all packages with "mm" in their names.

You can even have multiple wildcards, for example "p*mix*to", which will find the 'panoramixproto' package.

The search is case-insensitive, so a search for "PAN" will give the same results as shown above.

One thing to note about the search is that it searches the entire repository, and ignores the vertical Category radiobuttons on the left side.

Barry Kauler, Dec. 2010