|[Home] [Credit Search] [Category Browser] [Staff Roll Call]||The LINUX.COM Article Archive|
|Originally Published: Monday, 18 December 2000||Author: Cody Powell|
|Published to: learn_articles_firststep/General||Page: 1/1 - [Std View]|
Red Hat Package Manager: A Better Way To Install Software
One of the most daunting tasks for new users is adding software. In Windows, you had good ol' Install Shield where all you had to do was point and click and Bob's-your-uncle. In Linux, though, you've got to do tar -xvzf file, ./configure, make, make install and then offer a sacrifice to your box so it won't stop in the process. There has to be a better way!
RPM comes with most Linux distributions today, but if you're one of those unlucky souls who lacks it, you'll need to go to ftp.redhat.com and then follow the steps in the README to install. To understand how to install with RPM, you'll need to go grab some packages. So, head on over to http://rpmfind.net and find something interesting.
When you are looking at packages, you'll generally see something like yaddayadda-1.3.1-i386.rpm. That first part (yadda yadda) is the package name, and the 1.3.1 is the version number. The i386 (or possibly i586 or maybe even PPC) part tells you that this is a binary package; if it has src instead of i386, it is a source package. Binary packages come pre-compiled, so are a little easier to install.
Having downloaded your package, you now need to go into a shell and cd over to the directory you downloaded to. To do rpm stuff, you have to be root, so do an su if you haven't already. If this package is a binary package, you can install it with:
rpm -ivh yaddayaddayadda-1.3.1-i386.rpm(note: to save yourself time, don't type the whole package name out; just type out the first few letters and then hit Tab to autocomplete).
I specified three options there with my -ivh. The i means that I want to install, the v means that I want to verify that I have this package's dependencies installed, and the h means that I want to see my progress displayed with hash marks. If you're the adventurous sort, you can just install with -i.If you want to be bombarded with information on how the installation is going, try using -ivv to install in debug mode. If you're installing a source package, it's a good idea to specify -ivv in case of an error. Also, if you want to install a package off of an ftp site or a Web site, just do
rpm -ivh ftp.redhat.com/whatever.rpmand it will work.
There are tons of options you can specify when you are wanting to install. Rather than go through them all here, sometimejust take a look at man rpm. Some of the more popular options are --replace files (replace files from old packages with the new files in the package), --force (install despite error messages), --nodep (install without doing a dependency check, and --test (will simulate install to see if it goes smoothly).
Let's say you messed up and you don't want yaddayaddayadda-1.3.1-i386.rpm on your machine anymore. To uninstall this package, do
rpm -e yaddayaddayadda-1.3.1-i386.rpmand things will be taken care of.
Perhaps you installed an old version of the yaddayaddayadda package and you want to update to the newest version. You could uninstall the package and then reinstall the package, or you could use rpm's handy upgrade function. To use that, type
rpm -Uvh yaddayaddayadda-1.3.2-i386.rpmThe upgrade function's syntax is just like the syntax of the install function.
One more cool function of rpm is its query function.
Let's say you are unsure of which version of yaddayaddayadda you have
installed. If you are, you could type
One final cool feature of rpm is that you can verify the
packages on your system to see any discrepancies/missing files. To do one
on a particular package, do
RPM is a good part of Linux, but it isn't
fool-proof. There will be times when you're using it that the package just
won't install and you'll have to find another version of the file and do it
yourself. Despite all of this, though, RPM remains an important tool in
any Linux user's toolbox.
to see the full list of packages on
your computer. Let's say one day you are looking around in some
directories and you see some strange files. One really cool part of the
query function is that you can determine which package a file belongs to, so you
won't go off and delete things madly. To see this, type
rpm -qf strangefilename
rpm -V packagename
To do one for the whole
system, just type
One final cool feature of rpm is that you can verify the packages on your system to see any discrepancies/missing files. To do one on a particular package, do
RPM is a good part of Linux, but it isn't fool-proof. There will be times when you're using it that the package just won't install and you'll have to find another version of the file and do it yourself. Despite all of this, though, RPM remains an important tool in any Linux user's toolbox.