với yum làm thế nào bạn có thể loại bỏ một gói nhưng không loại bỏ các phụ thuộc của nó cùng một lúc?


13

Hôm nay nếu tôi làm $ yum remove packageAtôi được chào đón:

Removing:
packageA                        noarch                 3.5.1.b37-15                                 @yumFS                 293 k
Removing for dependencies:
 packageB                      noarch                 3.5.1.b125-7                                 @yumFS                  87 M
..
Is this ok?

Tôi muốn loại bỏ góiA mà không loại bỏ góiB (vv) là điều này có thể?


1
Có thể ? Đúng. Nhưng toàn bộ mục đích của các nhà quản lý gói là để ngăn chặn chính xác điều này. Google tìm kiếm "RPM Hell" cho ý tưởng hay về những gì bạn đang thiết lập cho mình bằng cách làm một việc như vậy.
DopeGhoti

Câu trả lời:


18

Xuất hiện có thể , bằng cách sử dụng vòng / phút:

$ rpm -e --nodeps packageA

mặc dù rõ ràng là rất cẩn thận, vì nếu bạn loại bỏ gói phụ thuộc và không đặt lại có thể dẫn đến kết quả không mong muốn cho các gói vẫn phụ thuộc vào nó ...


Câu hỏi về điều này. Tôi đã có một vấn đề phiên bản phụ thuộc, cảnh báo là Application built with libpng-1.6.16 but running with 1.5.13. Tôi nghĩ rằng tôi chỉ trao đổi nó, nhưng yummuốn loại bỏ rất nhiều thứ nếu tôi loại bỏ lần đầu tiên libpng. Vì vậy, tôi đã sử dụng cách tiếp cận mà bạn hiển thị ở đây để loại bỏ cả hai libpnglibpng-develsau đó được xây dựng và cài đặt libpng-1.6.1từ nguồn và vấn đề của tôi đã biến mất. Mặc dù nó hoạt động cho phần mềm mà tôi cần ngay lập tức (Mapnik), tôi có thể tin tưởng rằng tôi đã không phá vỡ thứ gì khác ngược dòng không, ví dụ như thứ gì đó yumban đầu muốn loại bỏ cùng với libpng?
elrobis

Vì vậy, không có tùy chọn gói để cài đặt 1.6? Hmm linh cảm của tôi là họ sử dụng các thư viện dùng chung và bạn vẫn tốt, nhưng họ cũng không được các nhà quản lý gói kiểm tra nên ... Tôi không biết hệ thống quản lý gói hoạt động như thế nào.
rogerdpack

1

Tôi thấy rằng có thể làm điều này với yum như vậy:

sudo yum remove --noautoremove <package name>

2
Hmm ... Tôi đã dùng thử trên CentOS 6 và 7 và nhận được "không có tùy chọn nào như vậy: --noautoremove" có ý tưởng nào không?
rogerdpack

3
Tôi đã ở trên fedora 29 khi tôi thực hiện thử nghiệm gói mới mà tôi vừa tạo. Hmm .. tự hỏi nếu nó chỉ là một thứ fedora.
Jaime
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.