dpkg-query - dpkg
データベースクエリツール
dpkg-query [
option...]
command
dpkg-query は、
dpkg
データベースに格納されたパッケージの情報を表示するツールである。
コマンド¶
- -l, --list
[package-name-pattern...]
- 指定したパターンにマッチする名前のパッケージを表示する。
package-name-pattern
が指定されなかった場合は、not-installed
とマークされているもの
(完全削除されているパッケージなど)
を除き、 /var/lib/dpkg/status
にある、すべてのパッケージを表示する。
package-name-pattern
には、標準的なシェルのワイルドカード文字を使用することができる。ただし、シェルにファイル名の展開をさせないように、
package-name-pattern
をクオートする必要があることに注意。例えば次のコマンドは、“libc6”
で始まる名前のすべてのパッケージを表示する:
dpkg-query -l 'libc6*'
出力の先頭から 3
つのカラムは、順に期待される動作
(desired
action)、パッケージの状況、エラー状態を示す。
期待される動作
u = Unknown
i = Install
h = Hold
r = Remove
p = Purge
パッケージの状況:
n = Not-installed
c = Config-files
H = Half-installed
U = Unpacked
F = Half-configured
W = Triggers-awaiting
t = Triggers-pending
i = Installed
エラーフラグ:
<empty> = (none)
R = 要再インストール
大文字はエラーを示すものであり、パッケージに致命的な問題が発生していることを示す。上記の状態についての詳細は
dpkg(1) を参照のこと。
この出力形式は変更できないが、端末の横幅に合わせて自動的に調整される。これは人間が目視することを想定したものであり、コンピュータに適した形式ではない。出力形式の設定方法については、
-W ( --show) および --showformat
を参照のこと。
- -W, --show
[package-name-pattern...]
- --list
オプションと同様に、指定したパターンにマッチするすべてのパッケージを表示する。このオプションの出力は、
--showformat
オプションによってカスタマイズすることができる。デフォルトの出力形式は、マッチしたパッケージごとに、(
Multi-Arch が same
のパッケージ用のアーキテクチャ修飾子によって拡張された)
パッケージ名とバージョンがタブで区切られた
1 行で表示される。
- -s, --status package-name...
- 指定したパッケージの状況を表示する。実際は、インストールされたパッケージの状況データベースの内容が表示される。package-name
が複数指定された場合、各パッケージは引数のリストで指定された順に、パッケージ間を空行で区切って表示される。
- -L, --listfiles package-name...
- package-name
がインストールしたファイルを一覧する。
package-name
が複数指定された場合、各パッケージは引数のリストで指定された順に、パッケージ間を空行で区切って表示される。パッケージ付属のインストールスクリプトによって作成されたファイルは含まれないことに注意。
- --control-list package-name
- package-name
がシステムにインストールした制御ファイルを一覧する。これは、
--control-show
の引数として用いることができる。
- --control-show package-name
control-file
- package-name
がシステムにインストールした
control-file
を標準出力に出力する。
- -c, --control-path package-name
[control-file]
- package-name
がシステムにインストールした制御ファイルのパスを表示する。
control-file
が指定された場合は、該当の制御ファイルが存在している場合に限り、その制御ファイルのパスだけを表示する。
警告:
このコマンドは廃止予定である。
--control-list や --control-show
の使用に切り替えてほしい。
- -S, --search
filename-search-pattern...
- 指定したパターンにマッチするファイルをインストールしたパッケージを検索する。パターンには、標準的なシェルのすべてのワイルドカード文字を使用することができる。このコマンドでは、メンテナスクリプトで作成された追加ファイルや、
alternative
は検索することができない。
- -p, --print-avail package-name...
- /var/lib/dpkg/available にある
package-name
の詳細を表示する。
package-name
が複数指定された場合、各
available
のエントリは、引数のリストで指定された順に、エントリ間を空行で区切って表示される。
available
ファイルには、dselect
を用いた際の更新情報しか保持されていないため、APT
ベースのフロントエンドを使っているユーザは、
apt-cache show package-name
を代わりに使用すべきである。
- -?, --help
- 利用方法を表示して終了する。
- --version
- バージョン情報を表示して終了する。
オプション¶
- --admindir=dir
- dpkg
データベースの位置を変更する。デフォルトの位置は
/var/lib/dpkg である。
- --load-avail
- --show および --list
コマンドを用いた際に利用可能なファイルもロードする。これらのコマンドはデフォルトではステータスファイルのみを検索対象とする。
- -f, --showformat=format
- このオプションは、--show
の出力の書式を指定するものである。書式は、一覧表示される各パッケージの出力を制御する文字列である。
フォーマット文字列中の
“ \”
はエスケープ文字である:
\n 改行
\r 復帰 (キャリッジリターン)
\t タブ
任意の文字の前に “
\”
を配置することで、これに続く文字の特殊な意味を抑制できる。これは
“ \” や “ $”
に有用である。
パッケージ情報には、“
${field[;width]}”
という構文で、パッケージフィールドを参照する変数を含めることができる。各フィールドは右寄せで表示されるが、width
に負の値を指定すると左寄せになる。以下の
field
が認識されるが、これらはステータスファイルに存在している必要はない
(内部フィールドやバイナリパッケージに格納されたフィールドの形で最終的に存在していればよい)。
Architecture
Bugs
Conffiles (内部フィールド)
Config-Version (内部フィールド)
Conflicts
Breaks
Depends
Description
Enhances
Essential
Filename (内部フィールド, フロントエンド関連)
Homepage
Installed-Size
MD5sum (内部フィールド, フロントエンド関連)
MSDOS-Filename (内部フィールド, フロントエンド関連)
Maintainer
Origin
Package
Pre-Depends
Priority
Provides
Recommends
Replaces
Revision (obsolete)
Section
Size (内部フィールド, フロントエンド関連)
Source
Status (内部フィールド)
Suggests
Tag (通常 .deb パッケージではなく、リポジトリの Packages ファイルに存在する)
Triggers-Awaited (内部フィールド)
Triggers-Pending (内部フィールド)
Version
以下は dpkg-query
が別のフィールドの値から生成した仮想的なフィールドである
(これらのフィールド名は、制御ファイルにおける適切な命名規則に従っていない点に留意)。
binary:Package
binary:Summary
db:Status-Abbrev
source:Package
source:Version
デフォルトのフォーマット文字列は
“ ${binary:Package}\t${Version}\n”
である。実際には、ステータスファイルに含まれる他のすべてのフィールド
(ユーザ定義フィールド)
も指定することができ、これらはそのまま表示される。変換やエラーチェックは行われない。
binary:Package
は、パッケージの
Multi-Arch フィールドが
same
となっているため、名前だけでは曖昧になってしまうパッケージについて、パッケージ名をアーキテクチャ修飾子
("libc6:amd64" のような)
付きで表示する特殊なフィールドである。dpkg
のメンテナとインストールされているバージョンを取得するには、以下を実行する:
dpkg-query -W -f='${binary:Package} ${Version}\t${Maintainer}\n' dpkg
終了ステータス¶
- 0
- リクエストされたクエリが正しく実行された。
- 1
- コマンドラインの解析中もしくはクエリの実行中に問題が発生した。これには(--control-path
を除き)
ファイルやパッケージが存在しなかった場合も含まれる。
環境変数¶
- DPKG_ADMINDIR
- --admindir
オプションが設定されておらず、この変数が設定されている場合、この変数の値が
dpkg
データディレクトリとして用いられる。
- COLUMNS
- この設定により、--list
オプションによる出力の横幅が設定される。
関連項目¶
dpkg(1).
翻訳者¶
高橋 基信 <monyo@monyo.com>. 喜瀬
浩 <kise@fuyuneko.jp>. 関戸 幸一
<sekido@mbox.kyoto-inet.or.jp>. 鍋谷 栄展
<nabe@debian.or.jp>. 倉澤 望
<nabetaro@debian.or.jp>. 石川 睦
<ishikawa@linux.or.jp>. 鵜飼 文敏
<ukai@debian.or.jp>. 中野 武雄
<nakano@apm.seikei.ac.jp>.
翻訳校正¶
Debian JP Documentation ML <debian-doc@debian.or.jp>.