タイトルからわかるように。 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