Apt-cache: Làm thế nào để liệt kê tất cả các gói đã cài đặt với số phiên bản?


51

apt-cache dump --installed không hoạt động, nó cũng liệt kê các gói đã gỡ cài đặt.

Tôi muốn liệt kê các gói cài đặt từng dòng một, với số phiên bản đã cài đặt.


3
lỗi # 775771 hạn chế kết quả tìm kiếm apt-cache đối với các gói đã cài đặt
bartolo-otrit 16/2/2015

Câu trả lời:


53

thử dpkg -l

nó liệt kê cho bạn các gói, phiên bản và một mô tả ngắn.


1
Tôi cũng thích apt-show-versionsvì nó cũng cho thấy cái nào là cái nào uptotdate.
malat

37

Cách đơn giản nhất là sử dụng dpkg, nhưng nó có thể hiển thị một vài gói không liên quan và nó cắt bớt tên gói dài và số phiên bản:

dpkg -l

Để chỉ liệt kê các gói được cài đặt chính xác và không cắt tên:

dpkg -l | grep '^ii'

Để có thêm quyền kiểm soát định dạng đầu ra, bạn có thể sử dụng dpkg-query:

dpkg-query -W -f '${status} ${package} ${version}\n' | \
sed -n 's/^install ok installed //p'

13

Lệnh khác có thể là:

apt-show-versions

Nó cũng cung cấp cho bạn thông tin về trạng thái gói (cập nhật, có thể nâng cấp, ...) và về phân phối nguồn gốc (wheezy, jessie, ...). Người ta có thể dễ dàng lọc ra các gói đến từ backport hoặc các kho lưu trữ kỳ lạ khác.

Chương trình này được đóng gói riêng. Cài đặt nó trước:

apt-get install apt-show-versions

Điều này thực sự tốt khi nó hiển thị phiên bản mà một gói có thể được nâng cấp lên. +1.
Randall Cook

kết hợp với apt-mark showmanualđiều này mang đến cho bạn một cách dễ dàng và dễ dàng để truy xuất các phiên bản của tất cả các gói được cài đặt thủ công, xem thêm câu trả lời Askubfox này apt-mark showmanual > /tmp/versions && apt-show-versions | grep -f /tmp/versions
Gregor

4

Lệnh sau liệt kê các gói với các phiên bản của chúng và ngoài ra, nó cho phép bạn thiết lập một hệ thống có cùng các gói và phiên bản sau, sử dụng pkg-selections.txttệp được tạo tại đây:

aptitude -q -F "%?p=%?V %M" --disable-columns search \~i > pkg-selections.txt

Mỗi dòng sẽ chứa tên gói, phiên bản và "A" tùy chọn nếu gói được cài đặt tự động.

Nguồn: " Nhân bản hệ thống Debian - các gói và phiên bản giống hệt nhau ". Cũng chứa tập lệnh thiết lập một hệ thống từ pkg-selections.txt.


4

Để liệt kê tên của từng gói được cài đặt, hãy nhập bất kỳ người dùng nào:

dpkg --get-selections

Bạn sẽ nhận được một đầu ra như thế này:

accountsservice              install
aclinstall                   install
acpi-supportinstall          install
acpidinstall                 install
...

Để loại bỏ chuỗi ký tự "cài đặt" không cần thiết, bạn có thể sử dụng sed :

dpkg --get-selections | sed 's:install$::'

Và nếu bạn muốn lưu nó vào một tệp có tên InstalledPackages , bạn nhập vào đây:

dpkg --get-selections | sed 's:install$::' > InstalledPackages

1

Nếu bạn không có quyền truy cập vào hệ thống trực tiếp và có bản sao lưu /phân vùng gốc , bạn có thể:

root@backup_server /mnt/old_root/var/lib/dpkg/info # ls -la *.list | awk {'print $9'}| sed 's/.list//' >> /root/installed_app

Bây giờ điều này /root/installed_appchứa tất cả các gói cài đặt!

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.