Ubuntu(Linux)でインストールしたソフト(パッケージ)の履歴を確認する方法

家に Ubuntu(Linux)機が増えてきましたが、台数が増えると「あれ? このマシンにあのソフト(パッケージ)をインストールしたっけ?」と思うようなことも増えてきました。

ということで、インストールしたソフト(パッケージ)の履歴を確認する方法をメモ書きしておきます。

apt-get または aptでソフト(パッケージ)をインストールしたり更新したりアンインストールしたりするとそれは /var/log/apt/ にログとして記録されています。
しかし、ログはローテーションされていて古いログは gz圧縮なので解凍しないと中身は見れません。

そこで、こんなシェルを作ってみました。

"apt-history"
#! /bin/sh

cd /var/log/apt

ls -tr history.log* | xargs zcat -qf | grep -e "Commandline: apt" -e "Start-Date
" | awk '/^Start-Date/{start=$0} /^Commandline/{print start, $0}'


ポイントは "zcat -qf" を使って圧縮されていても圧縮されていなくても cat するところですね。

このシェルを実行するとこんな感じで出力されます。
XXXXX@raspi:~ $ apt-history
Start-Date: 2017-11-07 19:10:42 Commandline: apt-get install cu
Start-Date: 2017-11-20 08:32:10 Commandline: apt-get install motion
Start-Date: 2017-12-12 23:13:22 Commandline: apt-get install xrdp
Start-Date: 2017-12-17 18:39:26 Commandline: apt-get upgrade
Start-Date: 2017-12-17 19:19:03 Commandline: apt-get dist-upgrade
Start-Date: 2017-12-21 07:35:46 Commandline: apt-get upgrade
Start-Date: 2017-12-21 07:38:57 Commandline: apt-get install npm
Start-Date: 2017-12-21 15:33:54 Commandline: apt-get autoremove
Start-Date: 2017-12-21 15:49:16 Commandline: apt-get install -y apt-transport-https
Start-Date: 2017-12-21 15:51:14 Commandline: apt-get install nodejs



ちなみに、aptのログのローテーション(logrotation)はデフォルトでは最大で12ファイルまでになっています。
設定ファイルは /etc/logrotate.d/apt にありますので、ログの最大数を増やしておくと履歴が消えることなくいつまでも履歴を確認できるようになります。
Ubuntu(Linux)のインストール直後にログの最大数を増やしておくといいと思いますよ。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント