5年間サポートされているパッケージとサポートされていないパッケージを使用して、システムがLTSでどの程度サポートされているかを確認したいと思います。 5年間サポートされていないパッケージはほとんど使用されないか、(セキュリティ)の問題が発生する可能性が非常に低いため、無視できます。
これは、レポートを取得して結論を出すことができるので便利だと思います。 "私のシステムは100%LTSです"、 "パッケージX、Y、Zのため、私のシステムはちょうど99%LTSです"、 "KDEを使用しているため、私のシステムは50%LTSになりました"。
私の答え 質問 12.04 LXDEにはLTSがありますか? に関連して、Ubuntuのどのパッケージが5年間のサポートを備えているかを確認する方法を投稿しました。例えば。:
$ apt-cache show unity | grep ^Supported
Supported: 5y
$ apt-cache show lxde-core | grep ^Supported
<no output>
すべてのパッケージのすべての情報を取得するスクリプトを作成することはできますが、apt-cache
コマンドはひどく遅い:
real 0m1.535s
user 0m1.484s
sys 0m0.036s
2700以上のパッケージがインストールされている場合、これには約70分かかります(!)。
システム上で5年間サポートされていないすべてのパッケージの処理を高速化し、レポートを取得するにはどうすればよいですか?
シンプルなapt-*
単純なシェルスクリプトで使用するためのシェルコマンド。 Pythonに移行するなど、より高度なスクリプトが必要な場合は、これでも問題ありません。最終的には、システムに関するレポートを簡単かつ迅速に作成するための(小さな)スクリプトをリリースしたいと思います。
注:Ubuntuの特定のフレーバーがLTSを提供するかどうかについての議論には興味がありません-これは実際には単なるパッケージです。システム上でLTSパッケージと非LTSパッケージを混在させることができます。
私はあなたのシステムについて知りませんが、これは私がしたことです:
time dpkg -l | grep 'ii' | awk ' {print $2}' | xargs apt-cache show | grep '^Supported:' | grep -v '5y' | wc -l
158
real 0m27.549s
user 0m5.580s
sys 0m21.701s
そんなに悪くないようですね。
パッケージの総数:
dpkg -l | grep 'ii' | wc -l
2602
私はAMDE-350を実行していますが、これは非常に高速なCPUではありません...
編集:xargsへの引数の最大数:
xargs --show-limits
...
POSIX upper limit on argument length (this system): 2091826
...
grep-dctrl
(1)を使用して、5年間の完全なLTS期間よりも少ない期間維持されるパッケージのリストを取得するための簡単なワンライナーを次に示します。
Sudo apt-get install dctrl-tools
dpkg -l | grep '^ii' | awk ' {print $2}' | xargs apt-cache show | grep-dctrl -v -FSupported --exact-match -nsPackage 5y | sort | uniq
簡単に変更して、さまざまなサポート期間を探すことができます。