Yum Installed Perl On CentOS 5.11 64 Bit

Home » CentOS » Yum Installed Perl On CentOS 5.11 64 Bit
CentOS 6 Comments

Hello CentOS,

Is 4:perl-5.8.8-43.el5_11.x86_64 really dependent on the 32 bit perl.i386
4:5.8.8-43.el5_11 as yum is suggesting, or has something got mixed up on the system?

yum install perl Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile
* base: repo.bigstepcloud.com
* epel: mirror.bytemark.co.uk
* extras: mirrors.vooservers.com
* rpmforge: mirror.vit.com.tr
* updates: anorien.csc.warwick.ac.uk Setting up Install Process Package 4:perl-5.8.8-43.el5_11.x86_64 already installed and latest version Resolving Dependencies
– –> Running transaction check
– —> Package perl.i386 4:5.8.8-43.el5_11 set to be updated
– –> Finished Dependency Resolution

6 thoughts on - Yum Installed Perl On CentOS 5.11 64 Bit

  • From: Niamh Holding

    It says “set to be updated”, so the i386 version was already installed… no?

    grep exactarch /etc/yum.conf

    JD

  • Hello John,

    Monday, November 24, 2014, 10:47:23 AM, you wrote:

    JD> It says “set to be updated”, so the i386 version was already installed… no?

    No-

    [root@nitrogen ~]# yum list installed | grep -i “perl\.”
    mod_perl.x86_64 2.0.4-6.el5 installed newt-perl.x86_64 1.08-9.2.2 installed perl.x86_64 4:5.8.8-43.el5_11 installed perl-libwww-perl.noarch 5.805-1.1.1 installed
    [root@nitrogen ~]#

    I’ve been told that the initial yum command wasn’t specific enough so it was looking for both versions of perl.

  • CentOS-5 has a default value for the yum setting “multilib_policy” of
    “all”, where on CentOS-6 or later, the default value of
    “multilib_policy” is “best”. See this link for details:

    http://docs.fedoraproject.org/en-US/Fedora/15/html/Deployment_Guide/sec-Configuring_Yum_and_Yum_Repositories.html

    http://serverfault.com/questions/77122/rhel5-forbid-installation-of-i386-packages-on-64-bit-systems

    Because of this Anaconda (the OS installer) installs i386 and x86_64
    packages on CentOS-5 from the beginning and unless you take steps to remove them, you will get both architectures for all packages.

    This behavior mimics the upstream behavior in RHEL.

    What you need to do after install if you want x86_64 only is this:

    1. Modify .rpmmacros for root user and any user you want to see the arch of packages with this value (in a .rpmmacros in the user’s home directory):

    %_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}

    2. Do this query (after you adjust .rpmmacros per step one) to see any
    32 bit packages installed:

    rpm -qa | grep i[3,6]86 | sort

    3. If you are sure you want to remove all the 32 packages, you would do:

    yum remove $(rpm -qa | grep i[3,6]86)

    4. Then edit /etc/yum.conf and add this line to set “multilib_policy” to
    “best”:

    multilib_policy=best

    Thanks, Johnny Hughes

  • Am 24.11.2014 um 13:35 schrieb Johnny Hughes :

    AFAIK:

    yum remove glibc.i686

    would be enough :-)

    or

    exclude = *.i?86

    if such packages are generally not welcome.

  • well, the difference is that you can have SOME but not all using the
    “multilib_policy”.

    You can install a couple of i686 packages because you want them and not get all multilib packages.

    But whatever approach one wants is fine.

  • Am 24.11.2014 um 17:28 schrieb Johnny Hughes :

    sure.

    BTW – some x86_64 package files get “touched” by un/installing the corresponding i?86 packages. I usually reinstall the x86_64 package after removing the i?86
    package if rpm -V %{NAME} shows such “differences” – for example timestamp mismatch.