RHEL5: ¿Prohibir la instalación de paquetes i386 en sistemas de 64 bits?


13

Cada vez que instalo algo con yum, intenta instalar las versiones x86_64 e i386 del paquete si ambas están disponibles. ¿Hay alguna forma de prohibir eso sin especificar el arco del paquete?

Respuestas:


16

Agregue multilib_policy = best a su /etc/yum.conf

Yum ahora intentará instalar el "mejor" package.arch para su sistema y solo lo instalará (siempre que esté disponible).

Suponiendo que está en un sistema de 64 bits, yum primero intentará instalar package.x86_64, si eso no existe, recurrirá a i386 y noarch.

La configuración predeterminada es multilib_policy = all , lo que significa instalar todos los arcos posibles.


1
+1 Sí, esa es la mejor respuesta. Desafortunadamente, la mayoría de las personas ahora no tienen esta opción.
knweiss

3

He estado usando la opción exactarch = 1 en /etc/yum.conf durante algún tiempo, y me ha funcionado.

Todavía le permite especificar manualmente el arco, pero si no lo hace, instala solo x86_64, no ambos.

Según el manual de 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.

Por cierto, tanto multilib_policy = best como exactarch = 1 parecen ser el valor predeterminado desde hace algún tiempo.


2

Use la función de exclusión en yum.conf:

exclude=*.i386 *.i686

O exclude=*.i?86(/etc/yum.conf). De esa manera, la búsqueda de yum ni siquiera incluirá paquetes de 32 bits.
basic6

1

Intentaría instalar la versión i386 si ya tiene instalada la versión x86_64.

Tenga en cuenta que si usa exclude en yum.conf podría excluir paquetes que solo estén disponibles en i386 arch

Una forma más segura podría ser solicitar explícitamente el arco en el momento de la instalación :

yum install package.x86_64

0

-x, --exclude = paquete Excluye un paquete específico por nombre o glob de las actualizaciones en todos los repositorios. Opción de configuración: excluir

--disableexcludes = [all | main | repoid] Desactiva las exclusiones definidas en tus archivos de configuración. Toma una de tres opciones: todas == deshabilitar todas las exclusiones main == deshabilitar las exclusiones definidas en [main] en yum.conf repoid == deshabilitar las exclusiones definidas para ese repositorio

arriba del hombre que puede usar o puede instalar yumex que le da gui puede elegir las rpm que necesita instalar.

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


Conozco las exclusiones, simplemente no quiero escribirlas cada vez, tampoco quiero crear alias. Simplemente no creo que instalar i386 en un sistema de 64 bits sea algo bueno.
Nikolai Prokoschenko

en ese caso usted elija de interfaz gráfica de usuario que mejores opciones
Rajat

0

Lo que funciona para mí es eliminar todos los paquetes ix86 de la máquina. Ahora nunca me pide que instale nada de 32 bits.

Primero configure sus .rpmmacros de esta manera:

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

Luego ejecuta esto (supongo que bash):

rpm -qa | egrep "i.86$"

Eso le dará una lista de no x86_64 rpm actualmente instaladas. Puede eliminarlos todos con esto:

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

Ahora tiene un sistema puro de 64 bits.

-Dave


-3

Lista i386

yum list installed | grep i386

Y ahora puedes eliminarlo o actualizarlo a x86_64


1
Esto no responde la pregunta.
Sven

A pesar de que podría ser útil para reparar la situación, que no es una respuesta a la pregunta de cómo evitar que éstas caigan instalados en el primer lugar ...
HBruijn
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.