私が知る限り、dpkg -l "*"
利用可能なすべてのパッケージは、状態に関係なくDebianの下にリストされています。この情報はどこから来るか。/var/lib/dpkg/available
インストールされているすべてのパッケージ(ステータス)が一覧表示されていることを知っていますが、他のすべてのパッケージに関する情報はii
どこで入手できますか?dpkg
答え1
これらを確認する方法は、の制御下でユーティリティを実行することですstrace
。たとえば、次のようになります。
$ strace -o /tmp/dpkg-strace.out dpkg -l '*'
strace
システムコールのすべての使用が追跡されるため、どのファイルにアクセスしたかを簡単に確認できます。システムコールの出力ファイルをgrepしますopen
。経験により、この場合、関連するストレスラインが次のようになることがすぐにわかります。
open("/var/lib/dpkg/status", O_RDONLY) = 3
したがって、/var/lib/dpkg/status
ファイルはdpkg
そのファイルから情報を取得します。デフォルトではRFC2822に準拠した形式のプレーンテキストファイルであるため、less
または同様のコマンドを使用して表示できます。