Mỗi khi tôi cài đặt một cái gì đó với yum, nó sẽ cố gắng cài đặt cả hai phiên bản x86_64 và i386 của gói nếu cả hai đều có sẵn. Có cách nào tôi có thể cấm mà không chỉ định vòm của gói không?
Mỗi khi tôi cài đặt một cái gì đó với yum, nó sẽ cố gắng cài đặt cả hai phiên bản x86_64 và i386 của gói nếu cả hai đều có sẵn. Có cách nào tôi có thể cấm mà không chỉ định vòm của gói không?
Câu trả lời:
Thêm multilib_policy = tốt nhất vào /etc/yum.conf của bạn
Bây giờ Yum sẽ cố gắng cài đặt gói "tốt nhất" cho hệ thống của bạn và nó sẽ chỉ cài đặt gói đó (miễn là có sẵn).
Giả sử bạn đang sử dụng hệ thống 64 bit, trước tiên, yum sẽ thử cài đặt gói.x86_64, nếu điều đó không tồn tại, nó sẽ quay trở lại i386 và noarch.
Cài đặt mặc định là multilib_policy = all , có nghĩa là cài đặt tất cả các vòm có thể.
Tôi đã sử dụng tùy chọn chính xác = 1 in /etc/yum.conf một thời gian và nó đã hoạt động với tôi.
Nó vẫn cho phép bạn chỉ định thủ công vòm, nhưng nếu bạn không, nó chỉ cài đặt x86_64, không phải cả hai.
Theo hướng dẫn sử dụng 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, cả multilib_policy = best và precisionarch = 1 dường như là mặc định cho đến bây giờ.
-x, --exclude = gói Loại trừ một gói cụ thể theo tên hoặc toàn cầu khỏi các bản cập nhật trên tất cả các kho lưu trữ. Tùy chọn cấu hình: loại trừ
--disableexcludes = [all | main | repoid] Vô hiệu hóa các loại trừ được xác định trong tệp cấu hình của bạn. Có một trong ba tùy chọn: all == vô hiệu hóa tất cả loại trừ main == vô hiệu hóa loại trừ được xác định trong [main] trong yum.conf repoid == vô hiệu hóa loại trừ được xác định cho repo đó
ở trên từ người đàn ông bạn có thể sử dụng hoặc bạn có thể cài đặt yumex, cho phép bạn có thể chọn vòng / phút mà bạn cần cài đặt.
Những gì làm việc cho tôi là loại bỏ tất cả các gói ix86 khỏi máy. Bây giờ nó không bao giờ yêu cầu tôi cài đặt bất kỳ thứ gì 32 bit.
Đầu tiên hãy thiết lập .rpmmacros của bạn như thế này:
cat ~/.rpmmacros
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
Sau đó chạy cái này (tôi giả sử bash):
rpm -qa | egrep "i.86$"
Điều đó sẽ cung cấp cho bạn một danh sách không x86_64 rpms hiện được cài đặt. Bạn có thể loại bỏ tất cả chúng bằng cái này:
rpm -e $(rpm -qa | egrep "i.x86$")
Bây giờ bạn có một hệ thống 64 bit thuần túy.
-Dave
Danh sách i386
yum list installed | grep i386
Và bây giờ bạn có thể xóa nó hoặc cập nhật lên x86_64