Dpkg của Debian có lưu trữ thời gian / ngày thay đổi gói (tức là cài đặt / thanh trừng) không?


8

Tôi biết điều đó dpkgdpkg-querylà những công cụ tốt để tìm hiểu về các gói hiện được cài đặt trên hệ thống Debian. Ngoài thông tin được ghi vào các tập tin /var/log/dpkg.log.*còn có nơi nào khác cho phép tôi biết khi nào có thay đổi (tức là thời gianngày cài đặt gói) không?

Giả sử rằng câu hỏi này ở đây nói rằng hệ thống gói của Debian không quan tâm đến việc lưu trữ thông tin về nguồn gốc của tệp gỡ lỗi (và làm thế nào để làm như vậy?) Tôi bắt đầu nghĩ rằng đó /var/log/dpkg.log.*là nơi duy nhất có thông tin về khi có chuyện gì đó dpkgxảy ra. được lưu trữ ở tất cả.

Có lẽ ai đó có thể xác nhận điều này. Hoặc nếu không cho tôi biết nếu thông tin về thời gian cài đặt gói được lưu trữ (thực sự đó sẽ là tuyệt vời!) Nơi tìm thấy chúng (tập tin nào?).

Câu trả lời:


5

/var/log/dpkg.loglà tệp nhật ký duy nhất còn lại của dpkg. Nó ghi nhật ký các gói được cài đặt, gỡ cài đặt, nâng cấp, v.v. Nó chỉ cho biết tên gói, phiên bản và hành động: dpkg không biết nguồn gốc của các gói. Nó không chỉ ra ngày của mỗi hành động.

Nếu dpkg được gọi bởi một công cụ trong bộ APT ( apt-get, aptitude, Synaptic, thì), các hành động của APT được đăng nhập /var/log/apt/history.log/var/log/apt/term.log. Các tập tin apt/history.logchứa cùng loại thông tin như dpkg.log. Tệp apt/term.lognày chứa bản ghi của lần chạy dpkg (tập lệnh trước và sau khi cài đặt và -remove, chạy dpkg, trình kích hoạt).

Aptitude cũng viết một bản ghi tương tự /var/log/aptitude. Nhật ký này chứa các hành động mà năng khiếu đã cố gắng, cho dù họ có thành công hay không.

Bạn cũng có thể thường xác định khi phiên bản hiện tại một gói được cài đặt bằng cách kiểm tra thời gian của /var/lib/dpkg/info/$package.*. Các tệp này có thể có thời gian gần đây hơn nếu chúng được sửa đổi sau đó vì một số lý do (ví dụ: được khôi phục từ bản sao lưu). Phiên bản hiện tại có thể là bản nâng cấp từ phiên bản khác, phương pháp này sẽ không cho bạn biết bất cứ điều gì về các phiên bản trước.

Nếu bạn cài đặt và kích hoạt etckeeper , sau đó mỗi khi bạn chạy APT và một cái gì đó trong /etcsự thay đổi, sự thay đổi cam kết kiểm soát phiên bản. Khi APT thực hiện cam kết tự động sau một hành động, nó chỉ ra hành động được thực hiện (ví dụ: gói nào đã được cài đặt) trong thông điệp tường trình.

Không có công cụ ghi lại nguồn gốc của các gói. Thông thường, với APT, một gói nhất định luôn đến từ cùng một nguồn, trừ khi các nguồn hoặc mức độ ưu tiên của chúng thay đổi. Trong các trường hợp hiếm hoi mà các nguồn hoặc ưu tiên đã thay đổi, không có cách nào chung để truy xuất thông tin lịch sử về nơi mà một gói được cài đặt trong quá khứ được lấy từ đâu.


Thời gian của các /var/lib/dpkg/info/tập tin thậm chí thay đổi trong quá trình apt-get upgradehoạt động bình thường . Sau khi nâng cấp như vậy, ví dụ: dpkg.lstctime == mtime == hiện tại - và dpkg.md5sums ctime> mtime. Vì vậy, thật không may, nhìn vào ctime không cung cấp nhiều thông tin hơn là chỉ nhìn vào mtime. Người ta không thể phân biệt thời gian nâng cấp / cài đặt gói với chúng.
maxschlepzig

@maxschlepzig Có, ý tôi là khi phiên bản hiện tại của gói được cài đặt, không phải khi phiên bản nào đó được cài đặt lần đầu tiên . Tôi sẽ chỉnh sửa nó.
Gilles 'SO- ngừng trở nên xấu xa'

3

Xem các tập tin trong /var/log/apt. Các tập tin history.logterm.logđược viết bởi cả hai apt-getaptitude, ít nhất. Khi apt-getchạy, dòng lệnh cũng được đưa ra. Bạn có thể muốn nhìn vào history.log. Trong số những thứ khác, điều này ghi lại thời gian của hành động.

Vì vậy, ví dụ, phần nhật ký tương ứng với cài đặt gói bằng cách sử dụng apt-gettrông như:

Start-Date: 2013-09-02  00:27:25
Commandline: apt-get install unrar
Install: unrar:amd64 (4.1.4-1)
End-Date: 2013-09-02  00:27:29

Một phần nhật ký tương ứng với một cài đặt bằng cách sử dụng aptitudenhư:

Start-Date: 2013-09-02  16:39:11
Install: hello:amd64 (2.8-2)
End-Date: 2013-09-02  16:39:15

Những ví dụ này là từ một hệ thống wheezy Debian amd64.

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.