An Overview of Linux Package Systems
In adding more software to Windows, you would usually have to buy a CD and autorun it, or download it off of the Internet. then you click on a program with a name like "setup.exe" and keep clicking the dialog until the program says it's happy. Now you're in Linux, and you're wondering how to add software?
First you should understand that most of the software that runs on Linux is free. Since there is no cost for using it, things are done a little differently. Instead, your distribution will usually have a list of available packages of more software to install from that distribution's home server on the Internet or from the installation disks; the exception is when a new program has been developed which isn't a part o the official package archive yet. While most programs are available for every Linux system, the kind of package system varies from one distribution to another.
The four main package systems of Linux are .rpm, .deb, .tgz, and .mdk. RPM is the Red Hat Package Manager, and is used for all systems descending from Red Hat. Deb is the Debian package system, and all systems descended from Debian use it. Tgz is used by Slackware and the few distributions derived from it. Mdk is the Mandriva Drake package system, a derivative of RPM, and is particular to Mandriva and the few systems that stem from it.
Most of these details aren't even necessary to know from the desktop perspective. Most Linux distributions these days have a graphical windowed program where installing new software is as easy as browsing a menu and clicking on what you want to add! All dependencies are handled automatically - unlike in Windows where everything can stop dead because you're missing a .dll (dynamic-link-library) file, a Linux package handler will make a note of what the package needs and automatically download and install that as well.
This will hold true for the popular programs that ninety-percent of the users will want. In the cases where you had to find something really unusual and download the package file, you might need to install it from the command-line. For Red Hat, you would type "rpm -i name-of-package.rpm", for Debian you would type "dpkg -i name-of-package.deb", for Slackware you would type "installpkg name-of-package.tgz" and Mandriva you would type "urpmi name-of-package.mdk". This will be a rare case where you need to do this, however.
Many users feel a little overwhelmed at the different package systems - wouldn't it be easier to have one package system? Yes, admittedly it would, but the different package systems are built to work well with the different systems and the way they're set up. In the rare cases where you can only find package files for a system different from your own, there are conversion utilities for the "alien" package system. Perhaps when Linux is a little bit more mature, a universal package format will emerge, but in the meantime, it isn't as much of a problem since most major packages are ported universally anyway.
Research