RHEL5: Die Installation von i386-Paketen auf 64-Bit-Systemen verbieten?

13

Jedes Mal, wenn ich etwas mit yum installiere, wird versucht, sowohl x86_64- als auch i386-Versionen des Pakets zu installieren, wenn beide verfügbar sind. Kann ich das auf irgendeine Weise verbieten, ohne den Bogen des Pakets anzugeben?

Nikolai Prokoschenko
quelle

Antworten:

16

Fügen Sie Ihrer /etc/yum.conf multilib_policy = best hinzu

Yum wird nun versuchen, das "beste" package.arch für Ihr System zu installieren, und es wird nur dieses installieren (solange es verfügbar ist).

Angenommen, Sie befinden sich auf einem 64-Bit-System, wird yum zuerst versuchen, package.x86_64 zu installieren. Wenn dies nicht vorhanden ist, wird auf i386 und noarch zurückgegriffen.

Die Standardeinstellung ist multilib_policy = all , was bedeutet, dass alle möglichen Bögen installiert werden.


quelle
1
+1 Ja, das ist die beste Antwort. Leider haben die meisten Leute diese Option jetzt nicht.
Knweiss
3

Ich verwende seit einiger Zeit die Option surearch = 1 in /etc/yum.conf und es hat bei mir funktioniert.

Sie können den Bogen weiterhin manuell angeben. Wenn Sie dies nicht tun, wird nur x86_64 installiert, nicht beide.

Laut el6- Handbuch ist 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.

Übrigens scheinen sowohl multilib_policy = best als auch genauearch = 1 seit einiger Zeit die Standardeinstellung zu sein.

João Carlos Mendes Luís
quelle
2

Verwenden Sie die Ausschlussfunktion in yum.conf:

exclude=*.i386 *.i686
Tom_13
quelle
Oder exclude=*.i?86(/etc/yum.conf). Auf diese Weise listet yum search nicht einmal 32-Bit-Pakete auf.
basic6
1

Es würde versuchen, die i386-Version zu installieren, wenn Sie die x86_64-Version bereits installiert haben.

Beachten Sie, dass Sie bei Verwendung von exclude in yum.conf Pakete ausschließen können, die nur in i386 arch verfügbar sind

Ein sicherer Weg könnte darin bestehen, den Bogen bei der Installation explizit anzufordern :

yum install package.x86_64
drAlberT
quelle
0

-x, --exclude = package Schließt ein bestimmtes Paket nach Namen oder Glob von Updates in allen Repositorys aus. Konfigurationsoption: ausschließen

--disableexcludes = [all | main | repoid] Deaktiviert die in Ihren Konfigurationsdateien definierten Ausschlüsse. Es gibt eine von drei Optionen: all == disable all excludes main == disable excludes definiert in [main] in yum.conf repoid == disable excludes definiert für dieses Repo

oben von man können Sie verwenden oder Sie können yumex installieren, die gui u können Sie die Drehzahl wählen, die Sie installieren müssen.

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

Rajat
quelle
Ich kenne Ausschlüsse, ich möchte sie einfach nicht jedes Mal eingeben, noch möchte ich Aliase erstellen. Ich denke einfach nicht, dass die Installation von i386 auf einem 64-Bit-System standardmäßig eine gute Sache ist.
Nikolai Prokoschenko
In diesem Fall wählen Sie aus GUI die besseren Optionen
Rajat
0

Was für mich funktioniert, ist das Entfernen aller ix86-Pakete vom Computer. Jetzt werde ich nie mehr aufgefordert, irgendetwas mit 32 Bit zu installieren.

Richten Sie zuerst Ihre .rpmmacros wie folgt ein:

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

Führen Sie dann Folgendes aus (ich gehe von Bash aus):

rpm -qa | egrep "i.86$"

Dadurch erhalten Sie eine Liste der derzeit nicht installierten x86_64-RPMs. Sie können alle davon entfernen:

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

Jetzt haben Sie ein reines 64-Bit-System.

-Dave

gestürzter Wagen
quelle
-3

Liste i386

yum list installed | grep i386

Und jetzt können Sie es entfernen oder auf x86_64 aktualisieren

Angelinux
quelle
1
Dies beantwortet die Frage nicht.
Sven
Obwohl dies nützlich sein könnte, um die Situation zu reparieren, ist dies keine Antwort auf die Frage, wie verhindert werden kann, dass sie überhaupt installiert werden ...
HBruijn