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?
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?
Jawaban:
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.
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.
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
-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.
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