Làm cách nào tôi có thể nhận được danh sách với các gói được chọn bởi apt-get autoremove?


13

Có lệnh nào chỉ in tên của các gói được apt-get autoremovechọn không? Tôi đang tạo một tập lệnh cập nhật kernel, loại bỏ kernel cũ và các gói không cần thiết ( apt-get autoremove), nhưng tôi muốn in trên màn hình danh sách các gói sẽ bị xóa apt-get autoremove, làm cách nào để làm điều này?


Bạn chỉ cần có thể chạy sudo apt-get autoremove -ynó và nó sẽ tự động xóa mọi thứ cần thiết để xóa ...

Hãy thử đọc tại đây, [Điều này có thể hữu ích.] [1] [1]: serverfault.com/questions/433250/ Kẻ
Doug

Để có được danh sách các gói mà không cần loại bỏ chúng thực sự bạn có thể làmsudo apt-get --dry-run autoremove
heemayl 24/07/2015

Tôi chỉ muốn lấy tên của các gói chứ không phải toàn bộ đầu ra của lệnh ....
Afonso Sousa

Câu trả lời:


13

theo nhận xét của bạn, bạn chỉ muốn liệt kê các gói sẽ bị xóa:

apt-get --dry-run autoremove | grep -Po '^Remv \K[^ ]+'

grep sự cố lệnh:

  • -P: Giải thích mẫu đã cho dưới dạng mẫu PCRE (Biểu thức chính quy tương thích Perl)
  • -o: Chỉ in chuỗi phù hợp thay vì toàn bộ dòng

Sự cố Regex:

  • ^: khớp với điểm bắt đầu của dòng
  • Remv: khớp với một Remvchuỗi
  • \K: loại trừ chuỗi con được khớp trước đó khỏi chuỗi khớp
  • [^ ]+: khớp với một hoặc nhiều ký tự không
$ apt-get --dry-run autoremove | grep -Po 'Remv \K[^ ]+'
libapache2-mod-php5
php5-readline
php5-cli
libonig2
libqdbm14
php5-json
php5-common 

1
@GeekLynxAfonso, bạn không cần phải sử dụng sudovới --dry-runtùy chọn.
jarno

@jarno Có nghĩa là, thực tế là nó có thể không cần thiết đã không xảy ra với tôi. Cảm ơn
kos

2

Thật ra bạn chỉ cần lọc đầu ra của bạn

sudo apt-get autoremove --dry-run 

chỉ huy.

Chẳng hạn, bạn có thể làm điều đó với

sudo apt-get autoremove --dry-run  | head -n 5 | tail -n 1

Lệnh của bạn cũng hoạt động !! Nhưng tôi thích lệnh của kos hơn ... Nhưng cảm ơn cũng vậy !! :)
Afonso Sousa
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.