RHEL5: Interdire l'installation des packages i386 sur les systèmes 64 bits?

13

Chaque fois que j'installe quelque chose avec yum, il essaie d'installer les versions x86_64 et i386 du package si les deux sont disponibles. Existe-t-il un moyen de l'interdire sans spécifier l'arc du colis?

Nikolai Prokoschenko
la source

Réponses:

16

Ajoutez multilib_policy = best à votre /etc/yum.conf

Yum va maintenant essayer d'installer le "meilleur" package.arch pour votre système et il n'installera que celui-ci (tant qu'il sera disponible).

En supposant que vous êtes sur un système 64 bits, yum essaiera d'abord d'installer package.x86_64, s'il n'existe pas, il retombera sur i386 et noarch.

Le paramètre par défaut est multilib_policy = all , ce qui signifie installer toutes les arches possibles.


la source
1
+1 Oui, c'est la meilleure réponse. Malheureusement, la plupart des gens n'ont pas cette option.
knweiss
3

J'utilise l'option exactarch = 1 dans /etc/yum.conf depuis un certain temps, et cela a fonctionné pour moi.

Il vous permet toujours de spécifier manuellement arch, mais si vous ne le faites pas, il installe uniquement x86_64, pas les deux.

Selon le manuel el6 , yum.conf (5) :

          exactarch  Either  ‘1’  or ‘0’. Set to ‘1’ to make yum update only update the architectures of
          packages that you have installed. ie: with this enabled yum will not install an  i686  package
          to update an i386 package. Default is ‘1’.

...

          multilib_policy  Can  be set to ’all’ or ’best’. All means install all possible arches for any
          package you want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on
          x86_64, if it is available. Best means install the best arch for this platform, only.

BTW, multilib_policy = best et exactarch = 1 semblent être la valeur par défaut depuis un certain temps maintenant.

João Carlos Mendes Luís
la source
2

Utilisez la fonction d'exclusion dans yum.conf:

exclude=*.i386 *.i686
Tom_13
la source
Ou exclude=*.i?86(/etc/yum.conf). De cette façon, la recherche yum ne listera même pas les packages 32 bits.
basic6
1

Il tenterait d'installer la version i386 si la version x86_64 était déjà installée.

Faites attention que si vous utilisez exclude dans yum.conf, vous pouvez exclure les packages uniquement disponibles dans i386 arch

Un moyen plus sûr pourrait être de demander explicitement l'arc au moment de l'installation :

yum install package.x86_64
drAlberT
la source
0

-x, --exclude = package Exclure un package spécifique par nom ou glob des mises à jour de tous les référentiels. Option de configuration: exclure

--disableexcludes = [all | main | repoid] Désactivez les exclusions définies dans vos fichiers de configuration. Prend l'une des trois options: tous == désactiver tous les exclus principaux == désactiver les exclus définis dans [principal] dans yum.conf repoid == désactiver les exclus définis pour ce référentiel

ci-dessus de l'homme, vous pouvez utiliser ou vous pouvez installer yumex qui donne à gui u peut choisir le rpm que vous devez installer.

http://www.yum-extender.org/blog/

Rajat
la source
Je connais les exclusions, je ne veux tout simplement pas les saisir à chaque fois, ni créer des alias. Je ne pense pas que l'installation d'i386 sur un système 64 bits par défaut soit une bonne chose.
Nikolai Prokoschenko
dans ce cas, vous choisissez de gui que de meilleures options
Rajat
0

Ce qui fonctionne pour moi, c'est de supprimer tous les packages ix86 de la machine. Maintenant, il ne me demande jamais d'installer quoi que ce soit de 32 bits.

Configurez d'abord votre .rpmmacros comme ceci:

cat ~/.rpmmacros
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}

Ensuite, exécutez ceci (je suppose que bash):

rpm -qa | egrep "i.86$"

Cela vous donnera une liste de rpms non x86_64 actuellement installés. Vous pouvez tous les supprimer avec ceci:

rpm -e $(rpm -qa | egrep "i.x86$")

Vous disposez maintenant d'un système 64 bits pur.

-Dave

chariot renversé
la source
-3

Liste i386

yum list installed | grep i386

Et maintenant, vous pouvez le supprimer ou le mettre à jour vers x86_64

Angelinux
la source
1
Cela ne répond pas à la question.
Sven
Bien que cela puisse être utile pour réparer la situation, ce n'est pas une réponse à la question de savoir comment les empêcher de s'installer en premier lieu ...
HBruijn