RHEL5: Vieta l'installazione di pacchetti i386 su sistemi a 64 bit?


13

Ogni volta che installo qualcosa con yum, tenta di installare entrambe le versioni x86_64 e i386 del pacchetto, se entrambe sono disponibili. Esiste un modo per vietarlo senza specificare l'arco del pacchetto?

Risposte:


16

Aggiungi multilib_policy = best al tuo /etc/yum.conf

Yum ora proverà ad installare il pacchetto "migliore" per il tuo sistema e installerà solo quello (finché sarà disponibile).

Supponendo che tu sia su un sistema a 64 bit, yum proverà prima a installare package.x86_64, se ciò non esiste tornerà a i386 e noarch.

L'impostazione predefinita è multilib_policy = all , che significa installare tutti i possibili archi.


1
+1 Sì, questa è la risposta migliore. Sfortunatamente, la maggior parte delle persone non ha questa opzione.
knweiss,

3

Sto usando l'opzione esattaarch = 1 in /etc/yum.conf per qualche tempo, e ha funzionato per me.

Ti consente comunque di specificare manualmente arch, ma se non lo fai, installa solo x86_64, non entrambi.

Secondo il manuale 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.

A proposito, sia multilib_policy = best che correctarch = 1 sembrano essere l'impostazione predefinita da qualche tempo.


2

Utilizzare la funzione exclude in yum.conf:

exclude=*.i386 *.i686

Oppure exclude=*.i?86(/etc/yum.conf). In questo modo, la ricerca di yum non elencherà nemmeno i pacchetti a 32 bit.
basic6,

1

Tenterebbe di installare la versione i386 se la versione x86_64 è già installata.

Fai attenzione che se usi exclude in yum.conf potresti escludere che i pacchetti siano disponibili solo in i386 arch

Un modo più sicuro potrebbe essere quello di richiedere esplicitamente l'arco al momento dell'installazione :

yum install package.x86_64

0

-x, --exclude = pacchetto Esclude un pacchetto specifico per nome o glob dagli aggiornamenti su tutti i repository. Opzione di configurazione: escludi

--disableexcludes = [all | main | repoid] Disabilita le esclusioni definite nei file di configurazione. Accetta una delle tre opzioni: all == disabilita tutto esclude main == disabilita esclude definito in [principale] in yum.conf repoid == disabilita esclude definito per quel repository

sopra dall'uomo puoi usare o puoi installare yumex che ti dà la possibilità di scegliere l'rpm che devi installare.

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


Conosco gli esclusi, non voglio solo scriverli ogni volta, né voglio creare alias. Non penso che installare i386 sul sistema a 64 bit di default sia una buona cosa.
Nikolai Prokoschenko,

in quel caso scegli dalla gui che le opzioni migliori
Rajat,

0

Quello che funziona per me è rimuovere tutti i pacchetti ix86 dalla macchina. Ora non mi chiede mai di installare nulla a 32 bit.

Per prima cosa configura i tuoi .rpmmacros in questo modo:

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

Quindi esegui questo (presumo bash):

rpm -qa | egrep "i.86$"

Questo ti darà un elenco di rpms non x86_64 attualmente installati. Puoi rimuoverli tutti con questo:

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

Ora hai un sistema a 64 bit puro.

-Dave


-3

Elenco i386

yum list installed | grep i386

E ora puoi rimuoverlo o aggiornarlo su x86_64


1
Questo non risponde alla domanda.
Sven

Sebbene ciò possa essere utile per riparare la situazione, non è una risposta alla domanda su come impedire che vengano installati in primo luogo ...
HBruijn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.