Có một cách tiếp cận, dòng lệnh để lấy lịch sử cài đặt.
Trình quản lý gói apt
dường như đăng nhập mọi thứ trong /var/log/apt/history.log
và /var/log/apt/term.log
, bao gồm tách mọi thứ bằng dấu dữ liệu. Cả hai đều chứa thông tin tương tự, có thể sử dụng nhưngterm.log
cả hai đều dài dòng hơn và không cho biết rõ ràng những gì đã bắt đầu hoạt động.
Nhật ký lịch sử
/var/log/apt/history.log
lưu trữ một bản tóm tắt súc tích của mỗi lần apt
chạy. Đây là một đoạn của tôi để cài đặt thủ công:
Start-Date: 2014-08-22 17:17:52
Commandline: apt-get install nautilus-dropbox
Install: nautilus-dropbox:amd64 (1.6.1-1), python-gpgme:amd64 (0.3-0ubuntu3, automatic)
End-Date: 2014-08-22 17:19:13
Các Commandline:
lĩnh vực chỉ ra những gì gây ra thời gian, và trong trường hợp cài đặt được thực hiện bởi người quản lý cập nhật nó sẽ giống như thế:
Commandline: aptdaemon role='role-commit-packages' sender=':1.131'
... Và có danh sách các gói của bạn, được sắp xếp theo ngày, phương thức và hành động (cài đặt / nâng cấp / xóa). Lưu ý rằng nếu bạn muốn chuyển các gói này trở lại apt-get remove ...
:
- Như đã đề cập , điều này loại bỏ hoàn toàn các gói hơn là hoàn nguyên chúng. Thông tin trong nhật ký chắc chắn có thể được sử dụng để xem xét các gói nâng cấp, mặc dù việc khôi phục chúng là một vấn đề khác.
Bạn sẽ cần phải loại bỏ các dấu ngoặc đơn, nội dung của họ và dấu phẩy tách khỏi danh sách thông qua phương pháp ưa thích của bạn thao tác văn bản (ví dụ sed
, vim
vv). Vì vậy, nếu tôi muốn xóa các gói trong đoạn trích ở trên, tôi có thể sử dụng dòng tương đối trực tiếp:
sudo apt-get remove nautilus-dropbox:amd64 python-gpgme:amd64
Nhật ký thiết bị đầu cuối
Nói chung /var/log/apt/term.log
là ít cấu trúc thuận tiện hơn, nhưng để hoàn thiện, bạn có thể nhận được thông tin tương tự. Đầu ra của thiết bị đầu cuối được phân định bằng dấu thời gian một lần nữa và cài đặt gói có thể được lấy từ các dòng có dạng sau:
Selecting previously unselected package nautilus-dropbox.
Sau đây là một cách in danh sách các gói đã cài đặt đến thiết bị đầu cuối cho toàn bộ nhật ký:
$ awk '/^Selecting/ {gsub(/\./,""); print $5}' /var/log/apt/term.log
Điều này có thể được điều chỉnh hoặc mở rộng để có được cài đặt trong phạm vi ngày.
apt-get remove
:sed 's/ ([^)]*)//g' | sed 's/,//g')
.