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?
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?
Antworten:
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.
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.
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
-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.
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
Liste i386
yum list installed | grep i386
Und jetzt können Sie es entfernen oder auf x86_64 aktualisieren