Environment
- Red Hat Enterprise Linux
Issue
- How to install or upgrade an RPM package ?
- How to upgrade
rpm
package ?
Resolution
NOTE: Usingyum
command should be better than rpm
command after Red Hat Enterprise Linux 5, since it can update local yum database properly.In order to install an RPM package you must first have the RPM package you are trying to install on your system. Many people will download RPM packages from a website and of course, Customer Portal provides all the RPM packages included in our distributions.
There are two main options of
rpm
command that are used to install or upgrade RPM packages:-
-i
is used to install a new package. Always use this for kernel installations and upgrades just in case.
-
-U
is used to upgrade an RPM package but will also install a package if it does not exist in the RPM database.
man rpm
from the command line. Here is some information about the -i
and -U
flags:INSTALL AND UPGRADE OPTIONS
The general form of an rpm install command is
rpm {-i|--install} [install-options] PACKAGE_FILE ...
This installs a new package.
The general form of an rpm upgrade command is
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
This install the package or upgrades the package currently installed to a newer
version. This is the same as install, except all other version(s) of
the package are removed after the new package is installed.
Note: These examples assume the packages are in a directory on your system. The below RPM commands are executed in the current working directory where the new RPM files reside.
- To install an RPM package, we use of the
-i
flag. As mentioned before, you use this flag when you are installing a kernel RPM. In this case, you will want to leave your old kernel in place, at least temporarily, in case the new kernel does not boot. In this example, we first check to see the names of the new RPM packages with thels
command. Then we query the RPM database to see which kernel packages are already installed. You do not need to include the version number in the query, but the usage is:rpm -q <package name>
. We can install the RPM package with the following command:rpm -ivh <package name>
. Note the-v
option will show verbose output and the-h
will show the hash marks, which represents action of the progress of the RPM upgrade. Lastly, we run another RPM query to verify the package will be available.
# ls
kernel-2.4.21-15.0.3.EL.i686.rpm
kernel-smp-2.4.21-15.0.3.EL.i686.rpm
# rpm -q kernel; rpm -q kernel-smp
kernel-2.4.21-4.0.1.EL
kernel-2.4.21-15.0.2.EL
kernel-smp-2.4.21-4.0.1.EL
kernel-smp-2.4.21-15.0.2.EL
# rpm -ivh kernel-2.4.21-15.0.3.EL.i686.rpm
Preparing... ########################################### [100%]
1:kernel ########################################### [100%]
# rpm -ivh kernel-smp-2.4.21-15.0.3.EL.i686.rpm
Preparing... ########################################### [100%]
1:kernel-smp ########################################### [100%]
# rpm -q kernel; rpm -q kernel-smp
kernel-2.4.21-4.0.1.EL
kernel-2.4.21-15.0.2.EL
kernel-2.4.21-15.0.3.EL
kernel-smp-2.4.21-4.0.1.EL
kernel-smp-2.4.21-15.0.2.EL
kernel-smp-2.4.21-15.0.3.EL
- To upgrade an RPM package, we use of the
-U
flag. In this example, we verify the new package name with thels
command. Then we will run an RPM query to see if the package we want to install exists in the RPM database,rpm -q <package name>
. Next, we execute the RPM installation with the following command:rpm -Uvh <package name>
. Note the-v
option will show verbose output and the-h
will show the hash marks, which represents action of the progress of the RPM upgrade. Lastly, we run another RPM query to verify the package will be available.
# ls
httpd-2.0.46-32.ent.3.i386.rpm
mod_ssl-2.0.46-32.ent.3.i386.rpm
# rpm -q httpd; rpm -q mod_ssl
httpd-2.0.46-32.ent
mod_ssl-2.0.46-32.ent
# rpm -Uvh httpd-2.0.46-32.ent.3.i386.rpm mod_ssl-2.0.46-32.ent.3.i386.rpm
Preparing... ########################################### [100%]
1:httpd ########################################### [ 50%]
2:mod_ssl ########################################### [100%]
# rpm -q httpd; rpm -q mod_ssl
httpd-2.0.46-32.ent.3
mod_ssl-2.0.46-32.ent.3
httpd
and mod_ssl
needed to be installed at the same time because of dependency issues.
If you try to install one without the other, you would get an error
similar to the following:# rpm -Uvh httpd-2.0.46-32.ent.3.i386.rpm
error: Failed dependencies:
httpd = 2.0.46-32.ent is needed by (installed) mod_ssl-2.0.46-32.ent
Note: Red Hat Network (RHN) was integrated into Customer Portal, Welcome to the New
Red Hat Network!
Upgrades in Red Hat Enterprise Linux 4
Currently it is possible to find only errata updates for RHEL 4. The packages can be downloaded and installed manually but it is not possible to use the command up2date. Also, the downloads work only for the RHEL 4.9 version. Other updates than errata are not available as we are approaching the the RHEL 4 end of life.
For more information on the end of life of RHEL 4 follow this link:
When is the end of life (EOL) support on RHEL 4?
No comments:
Post a Comment