• Rhel/centos x86_64 and i386 packages duplicate

    If you are running rhel/centos x86_64 systems,you should find that redhat has installed a mix of i386 and x86_64 rpms on a system. This is how redhat is using the 64bit architecture in a mixed way to be able to support also i386 applications.

    For example,I have found the following :

    rpm -qa | grep glibc

    glibc-devel-2.5-65.el5_7.1
    glibc-devel-2.5-65.el5_7.1

    This will list the package twice ,If your results doesn’t includes the package architecture,do the following :
    cat >> ~/.rpmmacros
    %_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}

    # rpm -qa | grep glibc
    glibc-devel-2.5-65.el5_7.1.x86_64
    glibc-devel-2.5-65.el5_7.1.i386

    You can add into yum.conf  the following line :
    exactarch=1
    So yum will install by default the packages of the arch it is running on ,Also you can exclude all 32bit packages from /etc/yum.conf by adding the following line :
    exclude=*.i386 *.i586 *.i686

    If you got any problems regarding package installation or yum update as following error :

    =========================================================================
    –> Finished Dependency Resolution
    glibc-devel-2.5-65.el5_7.1.i386 from installed has depsolving problems
    –> Missing Dependency: glibc-headers = 2.5-65.el5_7.1 is needed by package glibc-devel-2.5-65.el5_7.1.i386 (installed)
    glibc-2.5-65.el5_7.1.i686 from installed has depsolving problems
    –> Missing Dependency: glibc-common = 2.5-65.el5_7.1 is needed by package glibc-2.5-65.el5_7.1.i686 (installed)
    Error: Missing Dependency: glibc-common = 2.5-65.el5_7.1 is needed by package glibc-2.5-65.el5_7.1.i686 (installed)
    Error: Missing Dependency: glibc-headers = 2.5-65.el5_7.1 is needed by package glibc-devel-2.5-65.el5_7.1.i386 (installed)
    You could try using –skip-broken to work around the problem
    You could try running: package-cleanup –problems
    package-cleanup –dupes
    rpm -Va –nofiles –nodigest
    ==========================================================================
    You can run the following command ,to solve this problem.
    #package-cleanup –cleandupes
    If the same problem is still existing ,you have to do the following :
    grep the missing package that have a dependency problem ,as following :
    #rpm -qa |grep glibc-devel
    glibc-devel-2.5-65.el5_7.1.x86_64
    glibc-devel-2.5-65.el5_7.1.i386

    Then remove 32bit one.
    #yum remove glibc-devel-2.5-65.el5_7.1.i386

    And so on ,till you get all dependency problems solved.
    🙂

    Categories: Linux

    Comments are currently closed.