Apt

提供: First Wiki
ナビゲーションに移動 検索に移動

Tips

aptコマンドでパッケージ数を数える

ネット上の apt コマンドを使ったパッケージ数を確認する投稿ってこんな感じ?

$ apt --installed | wc -l

ですが、これだと「アップグレード可能なパッケージ」が漏れます。アップグレード可能なパッケージも立派なインストール済パッケージですよね。 あと、Listing... という文字から始まっている行も数えているので、1個多いという結果になります。

そこで、すごく昔に Ubuntu日本語フォーラムに投げた投稿にちょこっと手直ししたものがこちらです。

#!/bin/bash
LANG=C apt list --installed --upgradable 2>/dev/null | grep -o '\[.*\]$' | sort | uniq -c
LANG=C apt list --installed 2>/dev/null | grep '\[.*local\]$'
LANG=C apt list 2>/dev/null | grep 'residual-config\]$'
1行目
--installed--upgradable オプションでインストール済とアップグレード可能なパッケージを全て数えます。オプションが無くても同じ結果になりますが5万行とかになって遅いので付けておきます。
2行目
local - /etc/apt/sources.list.d/ に無いローカルなパッケージをリストアップします。apt upgrade 時に purge されなかった古い kernel パッケージが発掘されることもw
3行目
residual-config - 削除済だけど設定は残ってるパッケージをリストアップ。apt remove すると大体これになります。再び apt install すれば残っている設定がそのまま使われますし、残っている設定が必要なければ apt purge で除去できます。

実行例

$ ./installed_packages 
   1089 [installed,automatic]
      2 [installed,local]
      1 [installed,upgradable to: 25.3-0ubuntu1~24.04.1]
     80 [installed]
rustdesk/now 1.4.6 amd64 [installed,local]
siki/now 0.40.7 amd64 [installed,local]
$