Các bản phân phối dựa trên RPM như Red Hat rất dễ dàng:
rpm -qa --last
Trên Debian và các bản phân phối dựa trên dpkg khác, vấn đề cụ thể của bạn cũng rất dễ dàng:
grep install /var/log/dpkg.log
Trừ khi tệp nhật ký đã được xoay, trong trường hợp đó bạn nên thử:
grep install /var/log/dpkg.log /var/log/dpkg.log.1
Nói chung, dpkg
và apt
dường như không theo dõi ngày cài đặt, do thiếu bất kỳ trường nào như vậy trong dpkg-query
trang man.
Và cuối cùng /var/log/dpkg.log.*
các tệp cũ sẽ bị xóa bằng cách xoay vòng nhật ký, do đó cách đó không được đảm bảo để cung cấp cho bạn toàn bộ lịch sử hệ thống của bạn.
Một đề nghị xuất hiện một vài lần (ví dụ như chủ đề này ) là xem /var/lib/dpkg/info
thư mục. Các tập tin ở đó gợi ý bạn có thể thử một cái gì đó như:
ls -t /var/lib/dpkg/info/*.list | sed -e 's/\.list$//' | head -n 50
Để trả lời câu hỏi của bạn về các lựa chọn, đây là lần đầu tiên vượt qua.
xây dựng danh sách các gói theo ngày
$ find /var/lib/dpkg/info -name "*.list" -exec stat -c $'%n\t%y' {} \; | \
sed -e 's,/var/lib/dpkg/info/,,' -e 's,\.list\t,\t,' | \
sort > ~/dpkglist.dates
xây dựng danh sách các gói đã cài đặt
$ dpkg --get-selections | sed -ne '/\tinstall$/{s/[[:space:]].*//;p}' | \
sort > ~/dpkglist.selections
tham gia 2 danh sách
$ join -1 1 -2 1 -t $'\t' ~/dpkglist.selections ~/dpkglist.dates \
> ~/dpkglist.selectiondates
Vì một số lý do, nó không in ra nhiều sự khác biệt đối với tôi, vì vậy có thể có lỗi hoặc giả định không hợp lệ về ý --get-selections
nghĩa của nó.
Rõ ràng bạn có thể giới hạn các gói bằng cách sử dụng find . -mtime -<days>
hoặc head -n <lines>
và thay đổi định dạng đầu ra như bạn muốn, ví dụ:
$ find /var/lib/dpkg/info -name "*.list" -mtime -4 | \
sed -e 's,/var/lib/dpkg/info/,,' -e 's,\.list$,,' | \
sort > ~/dpkglist.recent
$ join -1 1 -2 1 -t $'\t' ~/dpkglist.selections ~/dpkglist.recent \
> ~/dpkglist.recentselections
để chỉ liệt kê các lựa chọn đã được cài đặt (thay đổi?) trong 4 ngày qua.
Bạn cũng có thể loại bỏ các sort
lệnh sau khi xác minh thứ tự sắp xếp được sử dụng bởi dpkg --get-selections
và làm cho find
lệnh hiệu quả hơn.