Cách hiển thị số lượng gói cài đặt


Câu trả lời:


11

Theo chủ đề này :

Để liệt kê các gói đã cài đặt:

dpkg --list | wc --lines

Để xem nếu một gói được cài đặt:

dpkg --list | grep package

1
Bạn đang bao gồm các dòng tiêu đề và một số gói chưa được cài đặt (ví dụ: rc(đã gỡ cài đặt nhưng với các tệp cấu hình còn sót lại)) trong số của bạn.
Gilles 'SO- ngừng trở nên xấu xa'

6
dpkg -l | grep -c '^ii'

Có các biến thể tinh tế như dpkg -l | grep -c '^?i'nếu bạn muốn bao gồm các gói được cài đặt nhưng loại bỏ bạn đã yêu cầu. Một cách khác là

aptitude search '~i' |wc -l

Bạn thậm chí có thể chọc trực tiếp vào cơ sở dữ liệu dpkg:

sh -c 'set /var/lib/dpkg/info/*; echo $#'

Gói này bao gồm các gói không được cài đặt nhưng có các tệp cấu hình còn sót lại; bạn có thể liệt kê những thứ này với dpkg -l | grep '^rc'.


1

dpkg -lthay vào đó là tốt nhưng tôi thực sự thấy mình đang sử dụng apt-show-versions(không được cài đặt theo mặc định trên Debian; thay vào đó cài đặt gói cùng tên), đặc biệt là khi tôi muốn xử lý đầu ra hơn nữa (dpkg cố gắng quá thông minh với cách gói dòng).


1

Synaptic , một trình quản lý gói GUI, hiển thị số đếm ở dưới cùng của cửa sổ chính của nó.

nhập mô tả hình ảnh ở đây



0

Nếu bạn muốn số lượng gói chính xác, bạn không nên đếm đầu ra của dòng tiêu đề dpkg-query -l, vì vậy bạn cần một mẫu để khớp với các dòng bắt đầu bằng ii. Một lớp lót sau đây cung cấp cho bạn số lượng dòng bắt đầu iivà do đó số lượng gói được cài đặt:

dpkg-query -l | grep "^ii" | wc -l 

Điều này cho cùng một đầu ra như

 dpkg --get-selections | grep "[[:space:]]install" | wc -l

Mẫu grep trong lệnh thứ hai bỏ qua các dòng có chứa chuỗi "deinstall" trong đầu ra của dpkg --get-selections.


-1

Đối với instace, bạn có thể làm điều này:

dpkg-query -l | nl | tail -1 | awk '{print $1}'

OK, đúng là nl | tail -1 | awk '{print $1}'sẽ báo cáo số lượng dòng trong đầu vào của nó (ngoại trừ, nếu không có đầu vào, nó sẽ không nói gì thay vì báo cáo 0) - nhưng tại sao bạn lại đề xuất loại bùn như vậy khi các câu trả lời khác đang sử dụng wc -l?
G-Man nói 'Phục hồi Monica'

Đó là lý do buồn cười tôi đã không đọc câu trả lời trước đó! @ G-Man ... nhưng đây vẫn là một câu trả lời tốt.
Karim Manaouil
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.