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?
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?
Réponses:
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.
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.
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
-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.
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
Liste i386
yum list installed | grep i386
Et maintenant, vous pouvez le supprimer ou le mettre à jour vers x86_64