Debianのaptを使ってパッケージのアップデートを行っていると、パッケージが更新された場合に古いパッケージは自動的にremoveされる。しかし、purgeされるわけではないのでバージョン依存の設定情報があるパッケージなどは設定が削除されずに残ってしまう。そのため、dpkg –listでインストール済みのパッケージ一覧を取得すると先頭のパッケージの状態がrcとなっていつまでもゴミとして一覧に残り続けることになる。
まあ残っていても別に実害はないのだが、linux-imageなどはどんどん古いバージョンがrc状態で積み重なってしまうため、dpkg –listが無駄に長くなることになり精神衛生上よくない。そこで、このrc状態のパッケージを簡単に一掃したくなる。そんなときはこのコマンド。
dpkg –list | grep “^rc” | cut -d ” ” -f 3 | xargs sudo dpkg –purge
これでインストール済みのパッケージの一覧からrc状態のパッケージだけを抜き出し、そのパッケージ名だけを切り出した後、すべてpurgeしてくれる。一応、念のために最後のパイプだけを外した状態でリストを出してみて、ほんとにrc状態のパッケージだけが抜き出されているかをチェックした方が安全である。
dpkg –list | grep “^rc”
でrc状態の一覧を取得し、
dpkg –list | grep “^rc” | cut -d ” ” -f 3
でそのパッケージ名だけがちゃんと抽出されていることを確認したのちに、purge実行だ。