Site Menu
LINUX CLASSES - MANAGING LINUX

How Do I Upgrade Software Packages Under Linux?

Upgrading and Freshening Packages

Upgrading a package is similar to installing one, but RPM automatically uninstalls existing versions of the package before installing the new one. If an old version of the package is not found, the upgrade option will still install it. (This is different than the freshen option, which will install only if an old version of the package is found.) Note that RPM flags are case sensitive, so be sure to use a capital "U" when upgrading, as in this example:

rpm -Uvh panda-2.0-1.i386.rpm
panda ####################################

Since RPM performs intelligent upgrading of packages with configuration files, you may see a message like this:

saving /etc/panda.conf as /etc/panda.conf.rpmsave

RPM is saying that it saved a copy of your original configuration file and installed a new one. You should use diff or a visual inspection to find any differences between the two files to ensure that your customizations are applied to the new version.

Hey, That's a Downgrade!

If RPM thinks you are trying to upgrade to a package with an older version number, you will see an error message like this:

rpm -Uvh panda-2.0-1.i386.rpm
panda package panda-3.0-1 (which is newer) is already installed
error: panda-2.0-1.i386.rpm cannot be installed

If you want RPM to ignore this condition, you can add the --oldpackage flag, as in the example here:

rpm -Uvh --oldpackage panda-2.0-1.i386.rpm
panda ####################################

Getting Fresh with Linux

Freshening a package is the same as upgrading, but RPM will perform the upgrade only if an older version of the package is already installed. Note that RPM flags are case sensitive, so be sure to use a capital "F" when freshening, as in this example:

rpm -Fvh pinesol-3.2-1.i386.rpm
panda ####################################

RPM's freshen option is especially handy if you've just downloaded a bunch of packages, and you want to upgrade only those packages that are already installed on your system. Use a command like this to tell RPM to look for all package files in the current directory and freshen only the previously installed packages:

rpm -Fvh *.rpm

Previous Lesson: Uninstalling Packages w/ RPM
Next Lesson: Querying Packages with RPM

[ RETURN TO INDEX ]


   

Comments - most recent first
(Please feel free to answer questions posted by others!)

No comments yet

I welcome your comments. However... I am puzzled by many people who say "Please send me the Linux tutorial." This website *is* your Linux Tutorial! Read everything here, learn all you can, ask questions if you like. But don't ask me to send what you already have. :-)

NO SPAM! If you post garbage, it will be deleted, and you will be banned.
*Name:
Email:
Notify me about new comments on this page
Hide my email
*Text:
 
 


Ask Bob Rankin - Free Tech Support


Copyright by - Privacy Policy
All rights reserved - Redistribution is allowed only with permission.