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.