Yum và gói đề nghị / đề xuất


10

Tôi muốn cài đặt gói phần mềm trên Hệ thống Fedora của mình , nhưng nó có rất nhiều phụ thuộc không hợp lý (mà tôi biết chắc chắn rằng chúng không thực sự cần thiết).

Tôi đã từng làm việc trên Debian , nơi apt-get cho phép bạn có hệ thống loại trừ khuyến cáođề nghị gói, lắp đặt chỉ phụ thuộc yêu cầu nghiêm ngặt.

Có cách nào để làm như vậy với Yum không?


Câu trả lời:


4

Không.

Thật không may, quản lý gói dựa trên RPM chỉ có một loại phụ thuộc. Đó là một sự phụ thuộc hoặc nó không phải, không phải là một cái gì đó ở giữa ( đọc ở đây ). Theo kinh nghiệm của tôi, các phụ thuộc trong Fedora khá hạn chế và chức năng không cốt lõi không được cài đặt trừ khi bạn thực hiện cài đặt theo nhóm.

Theo tôi, nhiều cấp độ phụ thuộc cho thấy một trong những quyền hạn của quản lý gói dựa trên DEB, theo ý kiến ​​của tôi.


Cài đặt nhật thực trên fedora là cài đặt 400 MB, tôi đến đây để tìm yum install --whithout-recommendsnhưng không có gì.
MGP

3

EDIT: Để trả lời câu hỏi ban đầu, có, điều đó có thể đối với các nhà quản lý gói hiện đang hỗ trợ các phụ thuộc yếu. Ví dụ, trên Mageia sẽ bằng urpmi --no-suggests foo. Đối với SuSe, đó sẽ là zypper in --no-recommends. Một cái gì đó như thế này cũng phải được thực hiện cho các phiên bản yum mới hơn, nếu không những phần mềm đó sẽ khá vô dụng.


Trên thực tế, có những phụ thuộc yếu trong vòng / phút cho phép điều đó, nhưng thật không may, những điều đó chưa được thêm vào yum và phiên bản rpm.org mà Fedora / RHEL sử dụng từ gần đây (và hiện tại có lẽ chỉ có sẵn thông qua da thô). Kiểm tra http://lists.rpm.org/pipermail/rpm-maint/2014-F/2/003666.html để biết thông báo gần đây và chi tiết triển khai. Đồng thời xem http://lists.baseurl.org/pipermail/yum-devel/2009-September/005844.html để thảo luận trước. Ngoài ra còn có một trang wiki fedora về những thay đổi trong vòng / phút-4.12 mô tả sự hỗ trợ này: https://fedoraproject.org/wiki/Changes/RPM-4.12

FWIW, các phụ thuộc mềm được SuSe sử dụng từ vài năm nay, xem http://en.opensuse.org/Libzypp/Dependencies#Weak_dependencies và phần bên dưới cho thấy chi nhánh vòng / phút của họ hỗ trợ. Ngoài ra Mandriva / Mageia và các nhánh liên quan sử dụng phụ thuộc mềm (chỉ Đề xuất) từ khá lâu.

Vì vậy, để trả lời câu hỏi ban đầu, hãy nâng cấp lên rawcoat / rpm-4.12 và sử dụng một trong những phụ thuộc yếu mà nó hỗ trợ ngay bây giờ.

Nếu bạn cần thêm thông tin về chi tiết triển khai RPM nội bộ, tôi sẽ vui lòng chia sẻ những thông tin đó.


2

Sự phụ thuộc trong phân phối dựa trên RPM hoạt động theo cách khác với phương pháp Yêu cầu / Đề xuất / Đề xuất dpkg.

Nói chung, các phụ thuộc trong phân phối dựa trên RPM có thể được coi là tương đương với "gói này sẽ không hoạt động đúng trừ khi đáp ứng phụ thuộc này". Tuy nhiên, có một số tự do nghệ thuật cho các nhà bảo trì gói bao gồm các phụ thuộc bổ sung khi họ thấy phù hợp (vì chúng không được tự động phát hiện hoặc vì họ cảm thấy rằng đó là một yêu cầu khó khăn).

Ví dụ, một ứng dụng web trong Debian / Ubuntu có thể có các gợi ý phụ thuộc khác nhau vào các gói Máy chủ MySQL. Tuy nhiên, vì máy chủ MySQL không bắt buộc phải có trên máy chủ web cục bộ, nên nó không phải là một yêu cầu khó khăn, cùng một gói theo Fedora sẽ không có sự phụ thuộc.

Có một vấn đề với phương pháp RPM, đó là những gì bạn đã xác định, đôi khi có quá nhiều phụ thuộc. Một câu hỏi phổ biến mà tôi đã nghe là "Tại sao gói này nên bao gồm các thư viện cho Bluetooth khi tôi không sử dụng Bluetooth?", Các mục như plugin tùy chọn được bao gồm trong gói ứng dụng chính, thường là nguyên nhân cho tình huống này.


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.