Arch-Linux

有沒有辦法按原始安裝日期列出 Arch Linux 軟體包?

  • March 26, 2021

我正在尋找一種方法來按原始安裝日期的順序列出我在 Arch Linux 上安裝的包(不是安裝目前版本的包的日期;第一次安裝任何版本的日期)。我正在尋找的是我在系統上安裝的所有軟體包的列表,按照它們首次安裝的順序排列。有沒有辦法做到這一點?到目前為止,我發現的所有按日期列出軟體包的方法都是按最近升級的日期計算的,而不是最初的安裝日期。

按安裝日期列出所有軟體包的一種簡單方法是使用日誌:

awk '/\[ALPM\] installed/ { print $(NF-1) }' /var/log/pacman.log

如果您認為“包安裝日期”與包版本無關,則日誌是獲取此資訊的唯一方法。

是另一種考慮將包綁定到包版本的方法——如果升級包,確定的安裝日期將會改變。

export LC_ALL=C
while IFS= read -r pkg; do
   printf '%s %s\n' \
   "$(date -d "$(pacman -Qi "$pkg" | sed -n '/^Install Date/s/.* : //p')" +%s)" \
   "$pkg"
done < <(pacman -Qq) | sort -nk1

(這可以更快地使用libalpm直接使用或通過執行單個pacman -Qi並使用 迭代每個包awk,但程式碼會更複雜。)

引用自:https://unix.stackexchange.com/questions/638874