Sử dụng zypper, làm cách nào tôi có thể xóa tất cả các gói được cài đặt từ một kho lưu trữ cụ thể?


10

Nói rằng tôi đã thêm một kho lưu trữ bằng cách sử dụng zypper ar. Sau đó, tôi đã đi và cài đặt nhiều gói từ kho lưu trữ đó, nhưng bây giờ tôi muốn xóa tất cả chúng.

Có lệnh nào cho phép tôi xóa tất cả các gói mà tôi đã cài đặt từ kho lưu trữ cụ thể đó không?

Câu trả lời:


7

Tôi nghĩ rằng không có lệnh như vậy. Bạn có thể liệt kê các gói từ kho lưu trữ cụ thể:

zypper search --installed-only --repo devel:tools

hoặc tất cả các gói mồ côi nếu bạn đã xóa kho lưu trữ đó:

zypper packages --orphaned

Sau đó, bạn có thể thử cutđóng gói tên từ đầu ra và chuyển nó sang zypper removenếu nó đáng để nỗ lực.


Hệ thống openSuSE 12.3 của tôi không có --orphanedtùy chọn, nhưng điều này có thể hoạt động zypper packages -i -R:: nó liệt kê gói đã cài đặt theo thứ tự Reverse của kho lưu trữ.
Jeroen Wiert Pluimers

2
--orphanedđã được thêm vào zypper 1.9.2 ( github.com/openSUSE/zypper/issues 432 )
marcin

1

Bạn có thể sử dụng kết hợp zypper search, awkxargsđể loại bỏ tất cả các gói từ một kho lưu trữ. Ví dụ:

zypper se --repo openSUSE-Tumbleweed-Debug --installed | awk '/^i(\+|\s)/ {print $3}' | xargs sudo zypper rm

awk '/^i(\+|\s)/ {print $3}'để khớp với tất cả các gói đã cài đặt (i hoặc i +)
Mesco

Bản thân zypper @Mesco chỉ nên in các gói đã cài đặt khi sử dụng --installed.
sebix

đúng, sử dụng -ihoặc --installed-only. Nhưng tôi cũng đã tìm kiếm i và i + tại cầu xin để bỏ qua vài hàng đầu tiên ( Loading repository data...). Có thể có các phương pháp tốt hơn, để bỏ qua 5 hàng đầu tiên nhưng nếu bạn đã sử dụng regex ...;)
Mesco

có thể tôi đang sử dụng phiên bản zypper khác nhau (1.14.4) nhưng người đàn ông của nó nói rằng đơn đặt hàng nên se [options] [query]giải pháp của bạn không hiệu quả.
Mesco

Ah, bây giờ tôi hiểu mối quan tâm của bạn. Tôi cập nhật câu trả lời. Về cú pháp tìm kiếm: Tôi chỉ sử dụng các tùy chọn và không có truy vấn, vì vậy thứ tự là chính xác tôi nghĩ.
sebix
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.