Of Packages and Management

People who have used Linux are aware of the never-ending debate over what is the best package management system. There are a lot of them out there like YUM, APT, Portage and YaST. All have their positives and negatives as well as have their individual uses.

For users who use Redhat based systems YUM is the package manager of choice. This package manager uses the RPM package standard and is coded in python. It is fairly easy to use and includes various methods for installing packages. You can use the search keyword to find package names if you only know part of the name. For instance, if you need the pae kernel you can use "yum search pae" and receive the various packages available that include the pae string. A problem with rpm was that the archives have dependencies but the older package manager rpm never had a method for installing them. Yum was made to fix this issue by introducing repositories to fetch the necessary dependencies so you can install a program without finding 30 rpms. A problem with yum is that since it is programmed in python it is slower than most other package managers out there. It is also more cpu intensive than YaST or APT due to being coded in python.

APT is the debian package management system. It uses the .deb archive packages which is similar to rpm where the packages can have dependencies and require them to be installed. The difference between APT and YUM is that APT will always download dependencies and has a special flag which will fix all broken dependencies. It scans all your packages installed and sees if the dependencies are matched up and will get the necessary packages you are missing. Unfortunately YUM misses this feature. APT also has a much nicer text gui frontend or X11 frontend; dselect and aptitude respectively. These allow for a user to select the packages they want through a searchable interface and easier to read which helps for new users to the system.

Portage is a package management system first introduced on BSD as ports and is available on Gentoo. Portage maintains a list of packages available and the steps necessary to compile the packages. Every package installed through Portage must be compiled from source which can be a time consuming process. Portage is better for a workstation environment rather than a server environment due to the fact that compiling programs consumes cpu power and can take quite a long time. It has nice keywords like world and system when using the update command which will make sure all packages installed are up-to-date and if not will be recompiled on command. It is written in python like YUM and has issues with configuration. You have to setup a proper conf file to exclude packages you feel aren't necessary or some programs like BitchX can take up to 8 hours to install.

YaST is an acronym for Yet another Setup Tool and is used on SUSE Linux. It is an open-source tool written by Novel for package management and system setup. It is written in C++ and has both a text and gui interface. YaST uses the RPM packages and runs similar to yum. It is a very powerful tool but only usable on SUSE due to the differences in the file system of the distribution. It is faster than yum and more user-friendly for the end user but SUSE as an os has a lot of differences from the other Linux distributions which can be confusing. Another down-side is that there are two versions of SUSE. There is openSUSE which is the free open source version and SUSE. openSUSE has a lot of software missing such as the flash player and SUSE has a manual as well as limited support included with it.

These are a few of the package management systems in use today in current Linux distributions. All have their positives and negatives. Every Linux user has their own preference as to what system they use. I myself am an APT user. I have been using Debian since 2002 when I started at Purdue University and had the pleasure of meeting Ian Murdock the creator of Debian and was introduced to the distribution. I now use Ubuntu on my home computer as it is updated more frequently than Debian and has a larger user base. This is useful when you have issues on your system and need to find a HOWTO on setting something up or fixing something.