There are two types of package tools; menu based tools and command line based tools. There is actually only one menu based tool and that’s “pkgtool” all the rest are command line tools.
You use pkgtool to get an overview of what’s installed on your system. It provides menu options to view installed packages, the content of individual packages and you can also remove currently installed packages by using the menus and you can install new ones. If you use pkgtool to install packages, you can specify a directory containing one or more packages and you will be asked a ‘yes’ or ‘no’ question about if you want them installed. If you select to remove packages you will get a list of all currently installed packages and you can then select one or more to remove.
All of the above functions can also be accomplished by using the command line tools. If, for example, you just need to install a single package, it may seem a bit tedious to have to go through a lot of menus. That’s why we have the command line tools. Here’s a description of each of them and how I mostly use them.
installpkg is used to install a prebuilt slackware package. Basically what it does is to unzip and untar the package in the “/” (root) directory of your filesystem, and subsequently it executes the script “install/doinst.sh” from the package if it’s included (try to unpack a package from your slackware CD into a new directory and take a look at it).
How I use installpkg:
In almost all cases all I do is type a command like “installpkg packagename.tgz” (or “installpkg packagename.tar.gz”). In a few cases I may wish to review the content of a package before I install it, so I issue a command like “installpkg -warn packagename.tgz > package.log”. That gives me a file called package.log with information about what files will be installed and where; and I can now judge if I wish to install the package (if you omit the “> package.log” part the report will be dumped to your console). I rarely use the “-r” an “-m” options, they can be used to generate and/or install a subdirectory as a package, but I prefer to use makepkg for that.
[Notes on Installing more than one package. Let's say you have the kde1 dir and you want to install everything, you can cd into the kde1 dir and "installpkg *.tgz". Or you can "installpkg pack1.tgz pack2.tgz pack3.tgz"]
explodepkg is used to extract a package into the current directory without running the “install/doinst.sh” script from the package and without updating the installed-packages database in “/var/adm/packages”. [note that /var/adm is a sym link to /var/log, so /var/log/packages is also correct] It’s a useful tool if you are maintaining/updating a package (probably one of your own) and want to change a few things. After using explodepkg and editing the package it is a simple matter to run makepkg to recreate the package with the new and/or updated content.
How I use explodepkg:
There is only one way to use this tool; cd to an empty directory and type “explodepkg packagename.tgz”.
removepkg is used to remove a currently installed Slackware package. It will look in “/var/adm/packages” for information about what files to remove (the entry under /var/adm/packages was created when the package was installed).