dpkg-query(1) 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-Archsame のパッケージ用のアーキテクチャ修飾子によって拡張された) パッケージ名とバージョンがタブで区切られた 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 オプションによる出力の横幅が設定される。

翻訳者

高橋 基信 <[email protected]>. 喜瀬 浩 <[email protected]>. 関戸 幸一 <[email protected]>. 鍋谷 栄展 <[email protected]>. 倉澤 望 <[email protected]>. 石川 睦 <[email protected]>. 鵜飼 文敏 <[email protected]>. 中野 武雄 <[email protected]>.

翻訳校正

Debian JP Documentation ML <[email protected]>.