RPM có hợp lệ trên các nền tảng không?


7

Tôi hơi bối rối về RPM trong Red Hat và / hoặc Fedora (và / hoặc các bản phát hành khác?). Tôi chắc chắn có thể chấp nhận rằng RPM 64 bit là cần thiết cho HĐH 64 bit và 32 bit cho HĐH 32 bit nhưng ... Nếu tôi có RPM cho ... OpenOffice.org, thì RPM đó có hợp lệ không đối với bất kỳ HĐH nào chấp nhận RPM của tôi hoặc tôi có cần tìm kiếm một RPM được thiết kế riêng cho HĐH mà tôi đang làm việc không?

Câu trả lời:


7

Như thường lệ: Câu trả lời phụ thuộc. RPM (hoặc về cơ bản là bất kỳ bộ chứa gói nhị phân cụ thể nào) đều chứa mã có thể chạy được. Hầu hết thời gian mà mã phụ thuộc vào các thư viện hoặc chương trình nhất định, gói chỉ định rằng ví dụ như nó phụ thuộc vào thư viện libAtrong một phiên bản> = 1.0.

Bây giờ có hai bản phân phối khác nhau với cả hai sử dụng định dạng đóng gói RPM. giả sử người ta gọi gói libA-1.0 để RPM bạn chỉ định rằng nó phụ thuộc vào libA. Phân phối nhị phân thứ hai có sơ đồ naimg khác và tiền tố gói với languagetên được đặt tên language-libA. Ngay cả khi nội dung của cả hai gói libA này giống hệt nhau, người quản lý gói không thể biết điều đó. Tất nhiên bạn có thể buộc RPM chỉ cài đặt gói dù sao mà không cần nhìn vào các phụ thuộc nhưng đó thường chỉ yêu cầu trừng phạt.

Vấn đề sẽ ít tệ hơn nếu cả hai bản phân phối có liên quan hoặc thậm chí dựa trên nhau: ví dụ Ubuntu dựa trên debian và do đó chia sẻ nhiều quy ước và gói đặt tên để bạn có thể chuyển gói xây dựng gói cho debian sang hộp Ubuntu.

Nó cũng phụ thuộc rất nhiều vào ngôn ngữ mà gói được viết bằng ngôn ngữ nào: Nếu bạn có một thứ gì đó được hiểu như Python trong đó gói về cơ bản chỉ là một bó các tệp văn bản lấy một gói cho một bản phân phối khác thường rất dễ xử lý, nhưng nếu nó được viết bằng C ++ và phụ thuộc và cả hai bản phân phối sử dụng các phiên bản khác nhau của thư viện lõi hoặc trình biên dịch mà về cơ bản bạn không gặp may.


2

ngoài câu trả lời của Tante . Về cơ bản, nó phụ thuộc vào việc nội dung nhị phân của tệp zip với siêu dữ liệu có được liên kết chính xác hay không, nếu chúng không được liên kết chính xác, chúng sẽ phải được gửi lại hoặc nếu không sẽ không hoạt động. Một số RPMS chỉ có thể chứa những thứ như mô-đun perl không yêu cầu liên kết, miễn là chúng ở đúng vị trí chúng sẽ hoạt động. Tuy nhiên, IIRC, có nhiều hơn một định dạng RPM, tôi tin rằng định dạng RPM của OpenSuse hơi khác so với Mũ Đỏ, và do đó sẽ không hoạt động trên Fedora. Rõ ràng mặc dù gói Fedora khó có thể hoạt động trên Red Hat vì các phiên bản thư viện rất khác nhau và liên kết sẽ bị tắt.

Nói tóm lại, không, nó sẽ không hoạt động, đừng bận tâm thử. Chỉ các RPM chung giống như các RPM được cung cấp cho flash, oracle (bạn sẽ lưu ý rằng orory yêu cầu phải xem lại), avg, v.v. có thể hoạt động ở nơi khác.

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.