スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Raspberry Pi apt-getの手動インストール履歴を検索

パッケージをインストールするコマンドが raspbian にはデフォルトで2つ入っている。「apt-get」と「aptitude」だ。今まで何の考えも無しに apt-get を使用していたが、とあるblogで「aptitudeのログは [INSTALL] でgrepすればコマンドラインから指定したパッケージ履歴が分かる」と書いてあったので反応してしまった。色々と使用としてあれこれTryしていると、どのパッケージを自分でインストールしたか分からなくなるからだ。これを防ぐために今までは都度メモをとっていた。

チョイとググってみたら、apt-get でもログを残しているではないですか。
以下のコマンドでダーーーーーっと見る事ができます。

$ cat /var/log/apt/history.log

これはこれで便利なのだが、詳細すぎて「自ら指定してインストールしたパッケージ」を見分けるのには辛い。なので、次のようにして絞り込んでみました。

$ grep 'apt-get install' /var/log/apt/history.log

"-y" オプションが付いたうさんくさいモノもリストアップされるが、これは自分で指定してない限り、ツールを使って間接的に apt-get を呼び出した時の履歴と思われます。"-y"を自分では指定しない事にすると以下の様にしてもっと絞り込むことが出来る。

$ grep 'apt-get install' /var/log/apt/history.log | grep -v ' \-y '

こんな事をせずとも、aptitudeを使ってそのログ中の"[INSTALL]"を grep すればいいのだが、他のツールが自動で実行するのが、apt-get のようなのでこちらに合わせる事にした。

apt-get と aptitude の違いは Debian のページの「2.2.1. apt-get/apt-cache と aptitude の比較」という所にある。その中で、「lenny 以降、apt-get と aptitude は自動インストールされたパッケージ状態を共有しているので これらのツールを特段の問題なく混用できます」とあるので、aptitude を使いたいという場合はあまり細かい事を気にせずとも使えると思われます。

ログからインストールパッケージの履歴を取り出すのはいいが、実はこのログ、ローテーションしてるんです。/usr/sbin/logrotate がその実態。これはデーモンではなくて、cron と組み合わせて実行されている。個別設定はこんな感じになってました。

$ cat /etc/logrotate.d/apt
/var/log/apt/term.log {
 rotate 12
 monthly
 compress
 missingok
 notifempty
}

/var/log/apt/history.log {
 rotate 12
 monthly
 compress
 missingok
 notifempty
}

term.log はapt系コマンドでターミナルに出力された内容、history.logが打ち込んだ内容。どちらも12ヶ月分を保存しておくみたいですね。12ヶ月とは長いようで短く、後々になって何をインストールしたかな? 何て時に無くなっている可能性があります。それを防ぐために、必要な部分だけ別ファイルへ抜き出しておきましょう。

$ sudo vi /etc/logrotate.d/apt
$ cat /etc/logrotate.d/apt
/var/log/apt/term.log {
 rotate 12
 monthly
 compress
 missingok
 notifempty
}

/var/log/apt/history.log {
 rotate 12
 monthly
 compress
 missingok
 notifempty
 prerotate
 /bin/grep 'apt-get install' /var/log/apt/history.log | grep -v ' \-y ' >> /var/log/apt/history_pi.log
 endscript
}

これでいいのかな? ええっと……1年後に確認します。気がついた時にバックアップは取るしね。



少々、コマンドの備忘録をば…。

パッケージリストの更新
# apt-get update

パッケージのインストール
# apt-get install <package>

インストール済みパッケージをアップグレードする
# apt-get upgrade

パッケージ検索
$ apt-cache search <regex>

詳細をみる
$ apt-cache show <package>

インストールしたパッケージの一覧をみる
$ dpkg -l
$ dpkg-query --show [pattern]

インストールしたアプリケーションの設定ファイル等の場所を調べる
$ dpkg -L <package>

アンインストール(不要なパッケージも一緒にアンインストール)
# apt-get autoremove <package>

アンインストール(設定ファイルもすべて削除したい場合)
# apt-get --purge autoremove <package>

スポンサーサイト

コメントの投稿

非公開コメント

黒ねこ時計 くろック D02
プロフィール

jujurou

Author:jujurou
運営HP:チャコの部屋
Twitter:jujurou

カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
最新記事
最新コメント
カテゴリ
ユーザタグ

ぺるけ RaspberryPi Linux トランジスタ式ミニワッター TRminiWatterPart4 MPD OpenOCD イーサネットコンバータ FON2405E DAC buildroot FM3ペリフェラル BeagleBoneBlack FM3評価ボード library OpenGL mingw ODROID-U2 TL-WR700N Edison bitbake KiCad 計測 VMware シングル FM4 ミニワッター 6N6P プリアンプ 

月別アーカイブ
ランキング

FC2 Blog Ranking

カウンター
検索フォーム
リンク
RSSリンクの表示
QRコード
QRコード
ライセンス
クリエイティブ・コモンズ・ライセンス
Twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。