私はこれを知っておりdpkg
、dpkg-query
Debianシステムに現在インストールされているパッケージを見つけるのに最適なツールです。ファイルに記録された情報以外に/var/log/dpkg.log.*
見つけることができる他の場所はありますか?いつ変更されました(例:時間そして日付パッケージのインストール)?
この質問を仮定ここDebianのパッケージシステムは、debファイルのソースに関する情報を保存することに興味がないと言うと(それではどうすればいいですか?)、関連イベントが発生したときに情報を保存する/var/log/dpkg.log.*
唯一の場所だと思い始めました。dpkg
おそらく誰かがこれを確認できるでしょう。または、パッケージのインストール時間に関する情報が保存されているか(本当に素晴らしいでしょう!)、その情報を見つけることができる場所(どのファイル?)を教えてください。
答え1
/var/log/dpkg.log
dpkg自体が残した唯一のログファイルです。どのパッケージがインストール、削除、アップグレードされたかを記録します。これはパッケージ名、バージョン、およびジョブのみを表します。 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.log
dpkg実行履歴(インストールの前後にアンインストールスクリプト、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-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 システムからのものです。