Adding and Removing Software: Each operating systems is shipped with its own version of "package management software". This software typically has a way for the administrator to query the list of installed packages, remove a package, test the integrity of a package, and add packages. As with many elements of the UNIX system, each vendor has reinvented the wheel and has a completely different way of operating their package management software. Here is a quick rundown on some of the tools: rpm: RedHat Package Manager (RedHat Linux) dpkg: Debian Package Manager (Debian Linux) pkg*: Solaris Package Management Tools (Solaris) cvsup: FreeBSD Package Management Tool (FreeBSD) In most cases, the package consists of a single file, with a unique file type --- most are glorified tar archives (see tar(1)). They contain some scripts that perform setup (some software [especially network services] need corresponding entries in system files to be usable), others that will remove the software, and sometimes scripts for configuring the software when you add it. The more sophisticated package management software tools will even check dependencies (other packages that the software needs to run). The short story is that none of these tools are perfect, and all share a common flaw: they are distributed by a different group than the group that designed the tools. The big problem with this is that there is always a time delay before new software is produced (bundled) into vendor package files, and that the people who wrote the configuration scripts may not be adequately expert with the software. The end result is that you will almost always have to do post-install configuration. Because you will almost always have to manually configure software, I recommend that you use the vendor packaging tools as little as possible --- use them to install the base system, and little more. The rule of thumb is: if you may want to upgrade the software before the next revision of the operating system comes out, don't use the vendor package. Software that falls into this category includes some editors (emacs, but not vi --- emacs includes "feature enhancements" every 5 months or so), most of your network daemons (sendmail in particular), and most of your visualization tools. The X11 software is something that you should let the vendor software install and upgrade --- X11 software often includes some very hardware dependent configuration --- the vendor will have written good tools for setting it up. There are also a set of commercial software packages that you don't have any option but to install with their tools. Most of the time, they don't use the vendor package management software, but instead have a configuration script that you run, and then an install script that puts the software where they want it to be. I recommend that you pay very careful attention to the software that is installed on your machines. Don't install software unless you know that you are interested in using it, and remove the software as soon as you are sure you won't use it. This will keep you from having software that might have security problems on your system, and it will conserve resources (disk space, and possibly cpu and network bandwidth). Whenever possible, I recommend getting the source code for your software from the maintainer of the software. This will let you compile the software on your own machine, and tune any configuration parameters that might need to be set at compile time.