RHEL5: Melarang instalasi paket i386 pada sistem 64-bit?

13

Setiap kali saya menginstal sesuatu dengan yum, ia mencoba menginstal versi paket x86_64 dan i386 jika keduanya tersedia. Apakah ada cara saya bisa melarang itu tanpa menentukan lengkungan paket?

Nikolai Prokoschenko
sumber

Jawaban:

16

Tambahkan multilib_policy = terbaik ke /etc/yum.conf Anda

Yum sekarang akan mencoba untuk menginstal package.arch "terbaik" untuk sistem Anda dan itu hanya akan menginstal yang (selama tersedia).

Dengan asumsi Anda menggunakan sistem 64-Bit, yum pertama-tama akan mencoba menginstal package.x86_64, jika itu tidak ada, ia akan kembali ke i386 dan noarch.

Pengaturan default adalah multilib_policy = semua , yang berarti menginstal semua kemungkinan lengkungan.


sumber
1
+1 Ya, itulah jawaban terbaik. Sayangnya, kebanyakan orang sekarang tidak memiliki opsi ini.
knweiss
3

Saya telah menggunakan opsi exactarch = 1 di /etc/yum.conf selama beberapa waktu, dan itu berhasil bagi saya.

Itu masih memungkinkan Anda untuk menentukan lengkungan secara manual, tetapi jika tidak, instal hanya x86_64, tidak keduanya.

Menurut manual 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.

BTW, baik multilib_policy = terbaik dan tepatarch = 1 tampaknya menjadi default untuk beberapa waktu sekarang.

João Carlos Mendes Luís
sumber
2

Gunakan fungsi kecualikan di yum.conf:

exclude=*.i386 *.i686
Tom_13
sumber
Atau exclude=*.i?86(/etc/yum.conf). Dengan begitu, pencarian yum bahkan tidak akan mencantumkan paket 32-bit.
basic6
1

Akan mencoba untuk menginstal versi i386 jika Anda memiliki versi x86_64 yang sudah diinstal.

Perhatikan bahwa jika Anda menggunakan mengecualikan di yum.conf Anda bisa mengecualikan paket hanya tersedia di lengkungan i386

Cara yang lebih aman adalah dengan secara eksplisit meminta lengkungan pada waktu pemasangan :

yum install package.x86_64
drAlberT
sumber
0

-x, --exclude = package Kecualikan paket tertentu dengan nama atau glob dari pembaruan pada semua repositori. Opsi Konfigurasi: kecualikan

--disableexcludes = [all | main | repoid] Nonaktifkan pengecualian yang ditentukan dalam file konfigurasi Anda. Mengambil salah satu dari tiga opsi: semua == nonaktifkan semua tidak termasuk main == nonaktifkan tidak termasuk didefinisikan dalam [main] di yum.conf repoid == nonaktifkan dikecualikan yang ditentukan untuk repo itu

di atas dari pria yang dapat Anda gunakan atau Anda dapat menginstal yumex yang memberikan Anda dapat memilih rpm yang perlu Anda instal.

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

Rajat
sumber
Saya tahu tentang mengecualikan, saya hanya tidak ingin mengetiknya setiap waktu, saya juga tidak ingin membuat alias. Saya hanya tidak berpikir menginstal i386 pada sistem 64-bit secara default adalah hal yang baik.
Nikolai Prokoschenko
dalam hal ini Anda memilih dari gui bahwa pilihan yang lebih baik
Rajat
0

Apa yang berhasil bagi saya adalah menghapus semua paket ix86 dari mesin. Sekarang tidak pernah meminta saya untuk menginstal 32bit apa pun.

Pertama-tama, atur .rpmmacros Anda seperti ini:

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

Kemudian jalankan ini (saya berasumsi bash):

rpm -qa | egrep "i.86$"

Itu akan memberi Anda daftar non x86_64 rpms yang saat ini diinstal. Anda dapat menghapus semuanya dengan ini:

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

Sekarang Anda memiliki sistem 64bit murni.

-Sayang

terguling
sumber
-3

Daftar i386

yum list installed | grep i386

Dan sekarang Anda dapat menghapusnya atau memperbaruinya ke x86_64

Angelinux
sumber
1
Ini tidak menjawab pertanyaan.
Sven
Meskipun itu mungkin berguna untuk memperbaiki situasi, itu bukanlah jawaban untuk pertanyaan bagaimana mencegahnya dipasang ...
HBruijn