Debianのdpkgはパッケージの変更(つまり、インストール/パージ)の日時を保存しますか?


8

私はそれを知ってdpkgおり、dpkg-query現在Debianシステムにインストールされているパッケージについて調べるための優れたツールです。ファイルに記録された情報のほかに/var/log/dpkg.log.*、私が知っていることを可能とする他のいずれかの場所があるときの変化(すなわち行われた時間日付パッケージのインストールのは)?

この質問と仮定すると、ここでは、 Debianのパッケージシステムは、DEBファイルの起源についての情報を格納する気にしないことを言う(ともどのようにそれはそうでしょうか?)私は考え始めています/var/log/dpkg.log.*何かをするときの情報の唯一の場所であるdpkg関連が起こりましたまったく保存されています。

多分誰かがこれを確認することができます。または、パッケージのインストールに関する時間情報が格納されているかどうか(実際にそれがすばらしいでしょう!)、それらを見つける場所(どのファイルですか)を教えてください。

回答:


5

/var/log/dpkg.logdpkg自体が残した唯一のログファイルです。インストール、アンインストール、アップグレードなどのパッケージをログに記録します。これは、パッケージ名、バージョン、およびアクションのみを示します。dpkgはパッケージの出所を知りません。各アクションの日付を示しています。

dpkgのは、APTスイート(中のツールによって呼び出された場合はapt-get、適性、シナプス、...)、APTのアクションはログインしている/var/log/apt/history.log/var/log/apt/term.log。ファイルにapt/history.logは、と同じ種類の情報が含まれていますdpkg.log。ファイルapt/term.logには、dpkg実行のトランスクリプトが含まれています(インストール前およびインストール後および-removeスクリプト、dpkg実行、トリガー)。

Aptitudeも同様のログをに書き込みます/var/log/aptitude。このログには、成功したかどうかにかかわらず、aptitudeが試みたアクションが含まれています。

また、通常、パッケージの現在のバージョンがいつインストールされたかを確認するには、のctimeを確認し/var/lib/dpkg/info/$package.*ます。これらのファイルは、何らかの理由(バックアップから復元されたなど)で後で変更された場合、より新しいctimeを持つ可能性があります。現在のバージョンは別のバージョンからのアップグレードである可能性があります。このメソッドは以前のバージョンについて何も通知しません。

etckeeperをインストールして有効にすると、APTを実行したり、何か/etc変更を加えるたびに、その変更がバージョン管理にコミットされます。APTがアクションの後に自動的にコミットする場合、ログメッセージに実行されたアクション(インストールされたパッケージなど)が示されます。

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


/var/lib/dpkg/info/ファイルのctimeは、通常のapt-get upgrade操作中にも変更されます。そのようなアップグレードの後、例えばdpkg.lstctime == mtime == current-time-そしてdpkg.md5sums ctime> mtime。したがって、残念ながら、ctimeを確認しても、mtimeを確認するよりも多くの情報は得られません。パッケージのアップグレード/インストール時間を区別することはできません。
maxschlepzig 2017年

@maxschlepzigはい、あるバージョンが最初にインストールされたときではなく、パッケージの現在のバージョンがインストールされたときを意味しまし。それを編集します。
Gilles「SO-邪悪なことをやめなさい」

3

のファイルを参照してください/var/log/apt。ファイルhistory.logterm.logは、少なくともapt-getとの両方によって書き込まれますaptitude。ときにapt-get実行され、コマンドラインにも与えられています。あなたはおそらく見てみたいと思いますhistory.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システムのものです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.