Linux
檢查特定 apt 或 deb 包的最後更新日期和時間
是否有命令將上次更新的日期和時間返回到特定包?目前我對上次更新我的 xorg 很感興趣(我知道,有些軟體將包含多個包),但這是我經常想知道的關於各種包的東西。我正在執行 Linux Mint。(是的,我知道 Mint 中有一個更新歷史 GUI 功能,但它需要大量滾動並且可能會出現人為錯誤)
對於特定的包,
zgrep -h "status installed package" /var/log/dpkg.log* | sort | tail -n 1
將告訴您上次成功安裝軟體包的時間(反映軟體包狀態,因此它還包括升級)。由於
dpkg
涉及 Debian 衍生產品中的所有包操作,因此無論使用哪種包管理工具(dpkg
直接apt
、、PackageKit 等),這都將起作用。例如,
$ zgrep -h "status installed xserver-xorg-core" /var/log/dpkg.log* | sort | tail -n 1 2022-08-07 06:40:54 status installed xserver-xorg-core:amd64 2:1.20.11-1+deb11u2
如果
apt
涉及(通常是這種情況,除非dpkg
直接使用),您可以從其歷史中獲取更多資訊:zcat -f $(ls -tr /var/log/apt/history.log*)|awk -v RS= '/package/{s=$0}; END{print s}'
這將告訴您包最後一次參與
apt
操作的時間,以及影響它的命令。例如:$ zcat -f $(ls -tr /var/log/apt/history.log*)|awk -v RS= '/xserver-xorg-core/{s=$0}; END{print s}' Start-Date: 2022-08-07 06:40:51 Commandline: /usr/bin/unattended-upgrade Upgrade: xserver-xorg-core:amd64 (2:1.20.11-1+deb11u1, 2:1.20.11-1+deb11u2) End-Date: 2022-08-07 06:41:01
(我知道為什麼 not parse
ls
(以及該怎麼做)?我假設文件名在這裡是安全的,這是在預設設置中使用預設日誌輪換的情況。我是還假設將IFS
其設置為其預設值。)封包件中最頂部的條目
changelog.Debian.gz
將告訴您它在您的發行版中最後一次修改的時間:$ zcat /usr/share/doc/xserver-xorg-core/changelog.Debian.gz | head -n 7 xorg-server (2:1.20.11-1+deb11u2) bullseye-security; urgency=medium * xkb: add request length validation for XkbSetGeometry (CVE-2022-2319) * xkb: swap XkbSetDeviceInfo and XkbSetDeviceInfoCheck (CVE-2022-2320) * Closes: #1014903. -- Emilio Pozuelo Monfort <pochu@debian.org> Fri, 05 Aug 2022 10:00:36 +0200