X期間中に更新されなかったパッケージを表示するスクリプトを作成できますか?

X期間中に更新されなかったパッケージを表示するスクリプトを作成できますか?

タイトルからわかるように。 X期間(6ヶ月など)の間、更新されていないパッケージのみを表示するスクリプトを書くことができるかどうか疑問に思います。

私がこのようなスクリプトをしたいのは、パッケージがメンテナンスされていないことを確認するためです。私はFedora 36を使用していますが、メンテナンスされていないパッケージはセキュリティ上のリスクを引き起こす可能性があるため、PPAディストリビューション(Ubuntu、Debianなど)を使用している人に特に役立ちます。

残念ながら、私はそのようなスクリプトを作成する能力がありませんが、誰かが私を正しい方向に導くことができるなら、私は自分自身を書いてみたいと思います。

ベストアンサー1

速度のため:

#! /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

おすすめ記事