Debianのdpkgは、パッケージの変更(インストール/クリーンアップなど)の時間/日付を保存しますか?

Debianのdpkgは、パッケージの変更(インストール/クリーンアップなど)の時間/日付を保存しますか?

私はこれを知っておりdpkgdpkg-queryDebianシステムに現在インストールされているパッケージを見つけるのに最適なツールです。ファイルに記録された情報以外に/var/log/dpkg.log.*見つけることができる他の場所はありますか?いつ変更されました(例:時間そして日付パッケージのインストール)?

この質問を仮定ここDebianのパッケージシステムは、debファイルのソースに関する情報を保存することに興味がないと言うと(それではどうすればいいですか?)、関連イベントが発生したときに情報を保存する/var/log/dpkg.log.*唯一の場所だと思い始めました。dpkg

おそらく誰かがこれを確認できるでしょう。または、パッケージのインストール時間に関する情報が保存されているか(本当に素晴らしいでしょう!)、その情報を見つけることができる場所(どのファイル?)を教えてください。

答え1

/var/log/dpkg.logdpkg自体が残した唯一のログファイルです。どのパッケージがインストール、削除、アップグレードされたかを記録します。これはパッケージ名、バージョン、およびジョブのみを表します。 dpkgにはパッケージソースに関する知識はありません。各ジョブの日付を示します。

APTファミリのツール(apt-get、aptitude、Synapticなど)によってdpkgが呼び出されると、APTジョブが記録され記録され/var/log/apt/history.logます/var/log/apt/term.log。このファイルにはapt/history.log同じ種類の情報が含まれていますdpkg.log。このファイルには、apt/term.logdpkg実行履歴(インストールの前後にアンインストールスクリプト、dpkg実行、トリガ)が含まれています。

同様のログがAptitudeに書き込まれました/var/log/aptitude。このログには、成功したかどうかにかかわらず、aptitude が試みた操作が含まれます。

通常、ctimeをチェックして、現在のバージョンのパッケージがインストールされている時期を確認することもできます/var/lib/dpkg/info/$package.*。これらのファイルが後で何らかの理由で(バックアップから復元された場合など)、変更された場合は、最新のctimeを持つことができます。現在のバージョンは他のバージョンのアップグレードかもしれません。この方法では、以前のバージョンについては何も教えてくれません。

インストールして有効にするとマネージャーをお待ちくださいすると、APTを実行していくつかの変更を適用するたびに、/etc変更がバージョン管理にコミットされます。 APTがジョブの実行後に自動的にコミットされると、ログメッセージに実行されたアクション(インストールされたパッケージなど)が表示されます。

パッケージソースを文書化するツールはありません。通常、APTを使用するときにソースまたは優先順位が変更されない限り、特定のパケットは常に同じソースから来ます。まれにソースまたは優先順位が変更された場合、過去にインストールされたパッケージのソースに関する履歴情報を取得する一般的な方法はありません。

答え2

のマニュアルを参照してください/var/log/apt。ファイルhistory.logとはterm.log少なくとも and によって書かれました。実行時にコマンドラインも提供されます。一度見てみたいかもしれません。これに加えて、動作時間も記録されます。apt-getaptitudeapt-gethistory.log

たとえば、使用されるパッケージのインストールに対応するログセクションはapt-get次のとおりです。

Start-Date: 2013-09-02  00:27:25
Commandline: apt-get install unrar
Install: unrar:amd64 (4.1.4-1)
End-Date: 2013-09-02  00:27:29

使用されたインストールに対応するログセクションはaptitude次のとおりです。

Start-Date: 2013-09-02  16:39:11
Install: hello:amd64 (2.8-2)
End-Date: 2013-09-02  16:39:15

この例は Debian amd64 wheezy システムからのものです。

関連情報