為什麼 Debian 中沒有關於升級、降級和軟體包清除的漂亮歷史日誌?

為什麼 Debian 中沒有關於升級、降級和軟體包清除的漂亮歷史日誌?

我想查找我最近的更新/升級、軟體包清除的歷史記錄,發現除了 aptitude 和醜陋的 dpkg.log 之外,似乎沒有其他東西可以做同樣的事情。看Debian 常見問題第 9.4 節。有誰知道為什麼這樣一個可以保存所有過去完成的套件管理任務的漂亮日誌的工具不存在。上面的連結中共享了一些解決方法,但沒有合適的工具。

我抬頭查看了/var/log/aptitude各種經過壓縮的日誌,以及各種 dpkg 日誌,但它們都不是針對最終用戶的。

    [/var/log] - [10058]
    [$] ls -lh aptitu*                                                                                                               
-rw-r--r-- 1 root root 117K May 23 15:49 aptitude
-rw-r--r-- 1 root root  24K May  1 00:26 aptitude.1.gz
-rw-r--r-- 1 root root  35K Apr  1 02:07 aptitude.2.gz
-rw-r--r-- 1 root root  26K Feb 28 03:13 aptitude.3.gz
-rw-r--r-- 1 root root  29K Jan 30 04:29 aptitude.4.gz
-rw-r--r-- 1 root root  27K Dec 30 15:28 aptitude.5.gz
-rw-r--r-- 1 root root  32K Dec  1 04:39 aptitude.6.gz

現在可以看到,日誌長達近 6 個月,而 aptitude 出色地保留了我所有的升級、降級、軟體包清除嘗試,但它只記錄了「嘗試」。 Dpkg 的記錄好得多,但看起來比 aptitude 日誌差得多。

如果有人可以分享更多見解,我會很高興。應該有一些基於 gtk/tk/GUI 的工具,也許是突觸/軟體中心或使用者選擇的任何工具的附加元件。

一個藉口或可能的解釋可能是開發人員重視隱私,但你有其他所有內容的日誌,而不僅僅是這些,所以這對我來說沒有多大意義。

另一部分只能是,Debian 或上游沒有也不關心此類日誌,並期望他們的用戶保留歷史記錄或依賴 aptitude 之類的工具,這也沒有多大作用,因為 -

aptitude show aptitude | grep Priority                                                                                         
Priority: optional

所以會有使用者不會使用 aptitude。

是否有任何 FOSS 作業系統(不限於 GNU/Linux)可以解決上述問題?

答案1

apt本身保留更好的日誌檔案/var/log/apt/history.log(和旋轉變體);這些追蹤每組apt操作的開始和結束日期和時間(包括由 啟動的操作aptitude)、請求使用者(使用 呼叫時sudo)以及操作:安裝的套件、升級的套件、刪除的套件、清除的套件...

這是一個例子:

Start-Date: 2016-05-09  23:29:03
Requested-By: steve (1000)
Install: libnspr4-dev:amd64 (2:4.12-2, automatic), liboauth-dev:amd64 (1.0.1-1), libcurl4-gnutls-dev:amd64 (7.47.0-1, automatic), libnss3-dev:amd64 (2:3.23-2, automatic)
End-Date: 2016-05-09  23:29:10

這表明我請求安裝,它會自動liboauth-dev引入libnspr4-dev, 。libcurl4-gnutls-devlibnss3-dev

您還可以找到哪些日誌操作/var/log/apt/term.log的終端輸出。apt

這些文件不追蹤dpkg操作,因此要獲得完整的情況 -IE,包括直接使用完成的操作dpkg- 您仍然需要查看/var/log/dpkg.log.如果您dpkg盡可能限制直接使用,那麼apt歷史記錄將很好地了解...

相關內容