RHEL5: i386 paketlerinin 64 bit sistemlere kurulmasını yasaklıyor musunuz?


13

Yum ile bir şey yüklediğimde, her ikisi de mevcutsa paketin hem x86_64 hem de i386 sürümlerini yüklemeye çalışır. Paketin kemerini belirtmeden bunu yasaklayabilmemin bir yolu var mı?

Yanıtlar:


16

Ekle multilib_policy = en iyi sizin için /etc/yum.conf

Yum şimdi sisteminiz için "en iyi" package.arch dosyasını yüklemeye çalışacak ve sadece bir tane kuracaktır (mevcut olduğu sürece).

64-Bit bir sistemde olduğunuzu varsayarsak, yum önce package.x86_64'ü yüklemeye çalışır, bu yoksa, i386 ve noarch'a geri döner.

Varsayılan ayar multilib_policy = all şeklindedir , yani tüm olası kemerlerin yüklenmesi anlamına gelir.


1
+1 Evet, bu en iyi cevap. Ne yazık ki, çoğu insan şimdi bu seçeneği kullanmıyor.
knweiss

3

Bir süredir /etc/yum.conf içinde exactarch = 1 seçeneğini kullanıyorum ve benim için çalıştı.

Hala kemeri manuel olarak belirtmenize izin verir, ancak bunu yapmazsanız, her ikisini de değil yalnızca x86_64'ü yükler.

El6 kılavuzuna göre 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, hem multilib_policy iyi = ve exactarch = 1 süredir varsayılan görünmektedir.


2

Yum.conf dosyasında exclude işlevini kullanın:

exclude=*.i386 *.i686

Veya exclude=*.i?86(/etc/yum.conf). Bu şekilde yum arama 32 bit paketleri bile listelemez.
basic6

1

Zaten x86_64 sürümü yüklüyse i386 sürümünü yüklemeye çalışır.

Yum.conf dosyasında exclude kullanırsanız, yalnızca i386 arch'ta bulunan paketleri hariç tutabileceğinize dikkat edin.

Daha güvenli bir yol , yükleme zamanında kemer istemek için olabilir :

yum install package.x86_64

0

-x, --exclude = package Belirli bir paketi tüm havuzlardaki güncellemelerden ada veya glob'a göre hariç tut. Yapılandırma Seçeneği: hariç tut

--disableexcludes = [all | main | repoid] Yapılandırma dosyalarınızda tanımlanan hariç tutmaları devre dışı bırakın. Üç seçenekten birini alır: all == tüm hariç tutmaları devre dışı bırak main == yum.conf repoid'de [main] 'de tanımlanan hariç tutmaları devre dışı bırak == bu depo için tanımlanan hariç tutmayı devre dışı bırak

adamdan yukarıda kullanabilirsiniz veya yüklemek için gereken rpm seçebilirsiniz gui u vermek yumex yükleyebilirsiniz.

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


Hariç tutulanları biliyorum, sadece her seferinde yazmak istemiyorum, takma adlar da oluşturmak istemiyorum. Sadece i386'yı 64-bit sisteme varsayılan olarak kurmanın iyi bir şey olduğunu düşünmüyorum.
Nikolai Prokoschenko

bu durumda
gui'den

0

Benim için çalışan tüm ix86 paketlerini makineden kaldırmak. Şimdi benden 32bit herhangi bir şey kurmamı istemiyor.

Öncelikle .rpmmacros'unuzu şu şekilde ayarlayın:

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

Sonra bunu çalıştırın (bash varsayıyorum):

rpm -qa | egrep "i.86$"

Bu, şu anda yüklü olmayan x86_64 rpm'lerin bir listesini verecektir. Hepsini bununla kaldırabilirsiniz:

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

Şimdi saf 64bit sisteminiz var.

-Dave


-3

Liste i386

yum list installed | grep i386

Ve şimdi kaldırabilir veya x86_64 olarak güncelleyebilirsiniz


1
Bu soruya cevap vermiyor.
Sven

Bu durumu onarmak için yararlı olsa da, bu ilk etapta kurulumlarının nasıl önleneceği sorusunun bir cevabı değildir ...
HBruijn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.