Tại sao phiên bản phần mềm i386 được cài đặt trên hệ thống x86_64?


7

Tại sao phiên bản i386 của hầu hết các phần mềm được cài đặt, cùng với phiên bản x86_64, trên hệ thống CentOS 64 bit?

# yum install php-xml
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process    
Package php-xml-5.3.12-5.el5.art.x86_64 already installed and latest version    
Package php-xml-5.3.12-5.el5.art.i386 already installed and latest version    
Nothing to do

Câu trả lời:


4

CentOS có một câu trả lời trên trang faq của họ về nó, nó dành cho khả năng tương thích với các công cụ 32 bit.

Để khắc phục, câu trả lời của họ nói là thêm exclude = *.i?86vào yum.conf của bạn. Tuy nhiên, nếu bạn đã cài đặt i386 rpms, các bản cập nhật sẽ bị hỏng, vì vậy hãy đảm bảo bạn xóa chúng trước khi thực hiện việc này.

Tôi thích cài đặt multilib_policy=besthơn nên trong trường hợp lẻ bóng bạn cần thứ gì đó 32 bit, nó sẽ được cài đặt nhưng không phải theo mặc định.

multilib_policy - Có thể được đặt thành 'tất cả' hoặc 'tốt nhất'. Tất cả có nghĩa là cài đặt tất cả các vòm có thể cho bất kỳ gói bạn muốn cài đặt. Do đó, yum install foo sẽ cài đặt foo.i386 và foo.x86_64 trên x86_64, nếu có sẵn. Tốt nhất có nghĩa là cài đặt vòm tốt nhất cho nền tảng này, chỉ.


Được rồi, đó là hữu ích. multilib_policy = tốt nhất thường an toàn? Tôi không muốn phải đau đầu để tiết kiệm dung lượng ổ đĩa ... và tôi phải đặt multilib_policy ở đâu? yum.conf? cảm ơn!
Gaia

@Gala multilib_policy = tốt nhất là an toàn. Tôi đã bị đau đầu khi thực hiện theo cách 'loại trừ', cụ thể là khi tôi không xóa i686 rpms đã phá vỡ các bản cập nhật và đau đầu hơn khi cố gắng cài đặt thứ gì đó cần glibc.i686. Nếu bạn không muốn các iM RPM, bạn có thể xóa chúng bằng hướng dẫn từ CentOS, sau đó thêm multilib_policy.
Đánh dấu McKinstry

tôi nghĩ rằng những vấn đề tôi đang gặp phải liên quan đến thiết lập của tôi. bạn có phiền nếu bạn có ý tưởng gì không? cảm ơn bạn unix.stackexchange.com/questions/47287/ trộm
Gaia

Vì vậy, dòng multilib_policy hoàn toàn không tồn tại trong yum.conf tôi có phải thêm nó không?

@rafael Có; không phải tất cả các dòng cấu hình có thể có trong tập tin. "Tốt nhất" là mặc định nếu không có gì được chỉ định trong các phiên bản gần đây của yum, nhưng "tất cả" là mặc định cũ hơn. (Trong phiên bản hiện tại của RHEL 6 và trong tất cả các phiên bản gần đây của Fedora, nó mặc định là "tốt nhất".)
mattdm

2

Đó là sự tương thích. Những gói đó là cần thiết để chạy phần mềm 32 bit trên hệ thống 64 bit.


1

Nếu bạn không muốn hành vi đó bạn phải cài đặt package.x86_64thay thế. Hầu hết các gói i386 đều ở đó vì chúng phải thực hiện một số phụ thuộc với chương trình vẫn là 32 bit (ví dụ: firefox).


Tôi hiểu rằng áp dụng cho một máy tính để bàn, nhưng cho một máy chủ? Nó không có GUI, chỉ có phần mềm máy chủ và AFAIK là tất cả x64 ...
Gaia

@Gaia Không phải tất cả - ngay cả trên máy chủ. Hãy thử yum erase PACKAGE.i386 .... trên hầu hết các gói, việc gỡ cài đặt sẽ hoạt động - trên các gói khác sẽ có một cây phụ thuộc rất lớn. Bạn có thể thử điều này mà không phải lo lắng - bạn phải xác nhận việc gỡ cài đặt bằng "y".
Nils
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.