Scripting

是否可以編寫一個 scipt 來顯示在 X 時間內未更新的包?

  • August 14, 2022

如標題所述。我想知道是否可以編寫一個腳本,它只顯示在 X 時間(比如 6 個月)內沒有更新的包。

我想要這樣的腳本的原因是檢查包是否未維護。我正在使用 Fedora 36,但我認為這對於使用使用 PPA 的發行版(例如 Ubuntu、Debian)的人來說特別有用,因為未維護的軟體包可能會帶來安全風險。

不幸的是,我沒有編寫這樣一個腳本的技能,但如果有人能在正確的方向上督促我,我會非常樂意自己嘗試編寫它。

對於 RPM:

#! /bin/bash

utnow=$(date +%s)

for i in `rpm -qa`; do
  uti=`rpm -q --queryformat '%{INSTALLTIME}' $i`
  months=$(( (utnow-uti)/86400/30 ))
  if [ $months -ge 6 ]; then
      echo "$i: is $months months old"
  fi
done
shared-mime-info-2.1-3.fc35.x86_64: is 10 months old
kdocker-5.3-4.fc35.x86_64: is 10 months old
irqbalance-1.7.0-8.fc35.x86_64: is 10 months old
libmodulemd1-1.8.16-6.fc35.x86_64: is 10 months old

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