Child pages
  • RPM Installation Failures
Skip to end of metadata
Go to start of metadata

 

Overview

This document provides examples of common RPM installation failures. You can use these examples to help identify and resolve issues that you may encounter when you install RPMs.

Important:

This document only applies to installation failures for operating system-related RPMs. This document does not include information for RPMs that The rpm.versions System controls.

  • To install operating system packages, use WHM's Install an RPM interface (Home >> Software >> Install an RPM).
  • To change how your server processes updates for these packages, use the Operating System Package Updates section of WHM's Update Preferences interface (Home >> Server Configuration >> Update Preferences).

Note:

If you continue to experience problems with the RPM installation process after you review this document, open a support ticket.

The no package available error

If the /etc/yum.conf file excludes a required package from updates, or a package does not exist on your server, the installation process fails.

In this example, the absence of the wget package causes the installation to fail:

[20130131.123334]   Setting up Install Process
[20130131.123334]   No package wget available.
[20130131.123335]   Nothing to do
[20130131.123339] E Sysup: Needed system RPMs were not installed: wget
[20130131.123339] ***** FATAL: Cannot proceed. Needed system RPMs were not installed.
[20130131.123339]   The Administrator will be notified to review this output when this script completes
[20130131.123339] E Detected events which require user notification during updatenow. Will send iContact the log
=> Log closed Thu Jan 31 12:33:39 2013
[20130131.123339]
 E Running `/usr/local/cpanel/scripts/updatenow --upcp 
--log=/var/cpanel/updatelogs/update.1359657200.log` failed, exited with 
code 4608
=> Log closed Thu Jan 31 12:33:39 2013

To troubleshoot this issue, perform the following steps:

  1. Open the /etc/yum.conf file with a text editor and remove the required package from the exclude line. For example:

    exclude=bind-chroot courier* dovecot* exim* filesystem httpd* mod_ssl* mydns* mysql* nsd* perl* php* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail*
  2. Save your changes and rerun the update process.

The package is obsoleted error

This error generally occurs due to conflicts that exist between the RPMs and a third-party repository. An RPM installation may fail if the system classifies a package as obsolete.

In this example, the system classifies the curl-devel package as obsolete:

[20130208.081257]   Setting up Install Process
[20130208.081257]  
 Package curl-devel is obsoleted by libcurl-devel, trying to install 
libcurl-devel-7.21.7-5.el5.remi.2.x86_64 instead
[20130208.081257]   Package libcurl-devel-7.21.7-5.el5.remi.2.x86_64 already installed and latest version
[20130208.081257]  
 Package curl-devel is obsoleted by libcurl-devel, trying to install 
libcurl-devel-7.21.7-5.el5.remi.2.x86_64 instead
[20130208.081257]   Package libcurl-devel-7.21.7-5.el5.remi.2.x86_64 already installed and latest version
[20130208.081257]   Nothing to do
[20130208.081258] E Sysup: Needed system RPMs were not installed: curl-devel
[20130208.081258] ***** FATAL: Cannot proceed. Needed system RPMs were not installed.
[20130208.081258]   The Administrator will be notified to review this output when this script completes
[20130208.081258] E Detected events which require user notification during updatenow. Will send iContact the log
=> Log closed Fri Feb  8 08:12:58 2013
[20130208.081258]
 E Running `/usr/local/cpanel/scripts/updatenow --upcp 
--log=/var/cpanel/updatelogs/update.1360329171.log` failed, exited with 
code 18 (signal = 0)

To troubleshoot this error, perform the following steps:

  1. Run the rpm -qa|grep curl command to determine which third-party curl RPMs exist on your system. The output will resemble the following example:

    compat-libcurl3-7.15.5-2.el5.remi
    curl-7.15.5-15.el5
    curl-7.21.7-5.el5.remi.2
    libcurl-devel-7.21.7-5.el5.remi.2
    libcurl-7.21.7-5.el5.remi.2
  2. Run the ls /etc/yum.repos.d command to confirm whether your servers use a third-party repository. The output will resemble the following example:

    ./ CentOS-Debuginfo.repo epel.repo remi.repo.save
    ../ CentOS-Media.repo epel-testing.repo
    CentOS-Base.repo CentOS-Vault.repo remi.repo 
  3. Disable the third-party repository that caused the error. To do this, run the following command:

    yum-config-manager --disable repositoryname

    Note:

    In this example, repositoryname represents the third-party repository to remove.

  4. Rerun the update process.

RPM conflicts

RPMs in the system's update log that do not match similar RPMs in the repository are commonly known as "rogue RPMs," and cause the installation process to fail.

In this example, the MySQL RPM causes the installation process to fail:

[20130128.230346] Testing RPM transaction
[20130128.230348] error: Failed dependencies:
[20130128.230348] MySQL conflicts with *mysql-5.0.77-4.el5_4.2.i386*
[20130128.230348] W Exit Code: 254
[20130128.230348] ***** FATAL: Test install failed: error: Failed dependencies:
[20130128.230348] MySQL conflicts with mysql-5.0.77-4.el5_4.2.i386
[20130128.230348] The Administrator will be notified to review this output when this script completes
[20130128.230348] E Error testing if the RPMs will install: Died at /usr/local/cpanel/scripts/updatenow.static line 12517.
[20130128.230348] E Detected events which require user notification during updatenow. Will send iContact the log

To troubleshoot this error, perform the following steps

  1. Run the rpm qa|grep -i ^mysql command to locate the version of the MySQL RPM in the update log. The output will resemble the following example:

    mysql-5.0.77-4.el5_4.2
  2. Run the previous command on another server and compare the output to the output of the first server, for example:

    MySQL-server-5.5.28-2.cp.1148
    

    Note:

    The difference in RPM versions indicates that the mysql-5.0.77-4.el5_4.2 RPM is a rogue RPM, which is why it conflicts with the MySQL installation.

  3. Remove the "rogue" RPM file, for example:

    rpm -e --nodeps --justdb mysql-5.0.77-4.el5_4.2
  4. Rerun the update process.

Failure to unpack a new package

An RPM installation fails if the update process cannot unpack the new package to the correct location. Binaries that you cannot modify (immutable binaries) cause this error.

In this example, both the tar and unzip packages cause the installation process to fail:

[20130210.141900]   Running Transaction
[20130210.141903]   
[20130210.141903]   Installing     : gzip                                                     1/3 
[20130210.141903]   
[20130210.141903]  
 Installing     : 
unzip                                                    2/3Error 
unpacking rpm package unzip-5.52-3.el5.i386
[20130210.141903]    
[20130210.141903]   error: unpacking of archive failed on file /usr/bin/unzip: cpio: rename
[20130210.141903]   
[20130210.141903]  
 Installing     : 
tar                                                      3/3Error 
unpacking rpm package 2:tar-1.15.1-32.el5_8.i386
[20130210.141903]    
[20130210.141903]   error: unpacking of archive failed on file /bin/tar: cpio: rename
[20130210.141904]   
[20130210.141904]   Installed:
[20130210.141904]     gzip.i386 0:1.3.5-13.el5.centos                                               
[20130210.141904]   
[20130210.141904]   Failed:
[20130210.141904]     tar.i386 2:1.15.1-32.el5_8               unzip.i386 0:5.52-3.el5              
[20130210.141904]   
[20130210.141904]   Complete!
[20130210.141910]
 E Sysup: Needed system RPMs were not installed: tar, unzip, wget 
[20130210.141910] ***** FATAL: Cannot proceed. Needed system RPMs were 
not installed.
[20130210.141910]   The Administrator will be notified to review this output when this script completes
[20130210.141910] E Detected events which require user notification during updatenow. Will send iContact the log

To troubleshoot this error, perform the following steps:

  1. Run the lsattr /usr/bin/unzip command to determine whether immutable binaries caused this error.
    The following example indicates that the system contains immutable binaries.

    ----i-------- /usr/bin/unzip
    ----i-------- /bin/tar
  2. Remove the immutable flags. To do this, run the following commands:

    chattr -i /usr/bin/unzip
    chattr -i /bin/tar
  3. Rerun the update process.

Additional documentation