other sections
dpkg(1) | dpkg suite | dpkg(1) |
名前¶
dpkg - Debian パッケージマネージャ書式¶
dpkg [option...] action警告¶
このマニュアルは、 dpkg のコマンドラインオプションやパッケージ状態について、 dpkg --help よりも、さらに詳細に理解したいユーザを対象としている。説明¶
dpkg は、Debian パッケージのインストール、ビルド、削除、管理を行うためのツールである。 dpkg の代表的なフロントエンドであり、利便性の高いツールが aptitude(1) である。dpkg 自体は、1 つのアクションと 0 個以上のオプションからなるコマンドラインパラメータによって制御される。アクションにより dpkg の動作が指定され、オプションにより、そのアクションに関する挙動が制御される。パッケージに関する情報¶
dpkg は利用可能なパッケージに関して、いくばくかの有用な情報を管理している。情報は、 ステータス、パッケージ選択状態、フラグの 3 つに分類でき、主に dselect によって変更されることが想定されている。パッケージのステータス¶
- not-installed
- パッケージはシステムにインストールされていない。
- config-files
- パッケージの設定ファイルだけがシステムに存在している。
- half-installed
- パッケージのインストールは開始しているが、何らかの理由で完了していない。
- unpacked
- パッケージは展開されたが、まだ設定されていない。
- half-configured
- パッケージは展開されて設定も開始しているが、何らかの理由によって完了していない。
- triggers-awaited
- パッケージは別のパッケージによるトリガ処理を待機している。
- triggers-pending
- パッケージはトリガされている。
- installed
- パッケージの展開と設定が完了している。
パッケージ選択状態¶
- install
- パッケージはインストールするように選択されている。
- hold
- hold 状態にあるパッケージは、 --force-hold オプションで強制しない限り、 dpkgによる処理の対象とならない。
- deinstall
- パッケージは deinstallation (設定ファイルを除くすべてのファイルを削除) するように選択されている
- purge
- パッケージは完全削除 (設定ファイルも含めたすべてのファイルを削除) するように選択されている。
パッケージのフラグ¶
- reinst-required
- reinst-required 状態にあるパッケージは、不正な状態にあり、再インストールが必要となっている。こうしたパッケージは、 --force-remove-reinstreq オプションで強制しない限り、削除することができない。
アクション¶
- -i, --install package-file...
- パッケージをインストールする。--recursive
または -R
オプションが指定されていた場合、
package-file
としてファイルではなくディレクトリを指定すること。
- --unpack package-file...
- パッケージを展開するが、設定はしない。--recursive または -R オプションが指定されていた場合、 package-file としてファイルではなくディレクトリを指定すること。
- --configure package...|-a|--pending
- 展開済だが未設定のパッケージを設定する。package
の代わりに -a
もしくは --pending
を指定した場合は、展開済だが未設定のパッケージすべてを設定する。
- --triggers-only package...|-a|--pending
- トリガ処理のみを行う。待機しているトリガが処理される。パッケージ名が指定されている場合、該当パッケージのトリガのみが、必要な場合に一度だけ処理される。このオプションを使用すると、パッケージが不適切な triggers-awaited もしくはtriggers-pending 状態のままになってしまうかもしれない。これらの状態は dpkg --configure --pending を後から実行することで対処できる。
- -r, --remove, -P, --purge package...| -a|--pending
- インストール済のパッケージを削除する。-r
もしくは --remove
は、設定ファイル
(conffile)
を除いたすべてを削除する。これにより、後ほど再インストールした時にパッケージの再設定を不要とすることができる
(ここでいう設定ファイルとは、制御ファイルの
DEBIAN/conffiles
に列挙されたファイルである)
。 -P もしくは --purge
は、設定ファイルを含むすべてを強制削除する。パッケージ名の代わりに
-a もしくは--pending
が指定された場合は、
/var/lib/dpkg/status で remove
もしくは
purgeが指定されている展開済パッケージすべてが
remove
もしくは完全削除される。設定ファイルによっては、設定スクリプトが生成、処理しているため、
dpkg
の管理下にない場合がある。この場合
dpkg
はこれらのファイルを削除しないため、(
dpkg
から呼び出される)
パッケージの postrm
スクリプトが完全削除処理の際に、これらのファイルを削除する必要がある。当然であるが、削除対象となるのは、システムのディレクトリに存在しているファイルのみであり、個々のユーザのホームディレクトリにある設定ファイルは対象外である。
- --update-avail, --merge-avail Packages-file
- dpkg や dselect
が管理する利用可能なパッケージの情報を更新する。
--merge-availアクションを指定すると、古い情報と
Packages-file
の情報とが統合される。
--update-avail
アクションを指定すると、古い情報は
Packages-file
の情報で置き換えられる。Debian
と一緒に配布されている
Packages-file
は、シンプルに Packages
という名前になっている。
dpkg
は、利用可能なパッケージの情報を
/var/lib/dpkg/available
に記録する。
- -A, --record-avail package-file...
- dpkg や dselect が管理する利用可能なパッケージの情報を、 package-file で指定したパッケージの情報で更新する。 --recursive または -R オプションが指定されていた場合、 package-file としてファイルではなくディレクトリを指定すること。
- --forget-old-unavail
- 現在は廃止されており、何も行われない。dpkg は、インストールされず利用できないパッケージの情報を自動的に消去する。
- --clear-avail
- 利用可能なパッケージについての情報を消去する。
-
-C, --audit - インストールが中断されているパッケージを検索する。dpkg はインストールを完了させるために行うべきことを提示する。
- --get-selections [package-name-pattern...]
- 選択したパッケージのリストを標準出力に出力する。パターンを指定しなかった場合は、(既に完全削除されているなどで) インストールされていないパッケージは表示されない。
- --set-selections
- 標準入力から読み込んだファイルを用いて選択したパッケージのステータスを更新する。読み込むファイルは
' package state'
というフォーマットになっている必要がある。state
は install, hold, deinstall, purge
のいずれかの値をとる。空行や
'#'
から始まるコメント行を使用してもよい。
- --clear-selections
- essential 以外のすべてのパッケージのステータスを deinstall にする。このオプションは、--set-selection の直前で用いて --set-selections で指定していないパッケージをすべて deinstall するために使用されることを想定している。
- --yet-to-unpack
- インストールするために選択されたが、何らかの理由でまだインストールされていないパッケージを検索する。
- --add-architecture architecture
- architecture を、--force-architecture を使用せずにパッケージをインストールすることが可能となるアーキテクチャのリストに追加する。 dpkg がビルドされたアーキテクチャ (すなわち --print-architecture の出力) は、常にリストに含まれる。
- --remove-architecture architecture
- architecture を、--force-architecture を使用せずにパッケージをインストールすることが可能となるアーキテクチャのリストから削除する。アーキテクチャが現在データベースで使用中だった場合、 --force-architecture が指定されていない限り、操作は拒否される。 dpkg がビルドされたアーキテクチャ (すなわち --print-architecture の出力) を、リストから削除することは決してできない。
- --print-architecture
- dpkg がインストールするパッケージのアーキテクチャ (例えば "i386") を表示する。
- --print-foreign-architectures
- dpkg によるインストールを可能とする設定をされた、追加のアーキテクチャを改行で区切ったリストで表示する。
- --compare-versions ver1 op ver2
- 二項演算子 op を用いてバージョン番号を比較する。 dpkg は、指定した条件を満たす場合は成功 (0) を、それ以外は失敗 (0 以外) を返却する。演算子は ver1 やver2 が空文字列の時の扱いによって、 2 種類に大別できる。 lt le eq ne ge gtは、空文字列をもっとも小さいバージョンと見なす。 lt-nl le-nl ge-nl gt-nl は、もっとも大きいバージョンとみなす。 < << <= = >= >> > は、control ファイルの文法との互換性を維持するためにのみ提供される。
- -?, --help
- オプションに関する簡単なヘルプを表示する。
- --force-help
- --force-thing オプションに関するヘルプを表示する。
- -Dh, --debug=help
- デバッグ用オプションに関するヘルプを表示する。
- --version
- dpkg のバージョン情報を表示する。
- dpkg-deb actions
- 以下のアクションの詳細については
dpkg-deb(1)
を参照のこと。
-b, --build directory [archive|directory] deb パッケージをビルドする。 -c, --contents archive deb パッケージに含まれるファイル一覧を表示する。 -e, --control filename [directory] パッケージから制御情報ファイルを展開する。 -x, --extract archive directory パッケージによってインストールされるファイルをすべて展開する。 -X, --vextract archive directory パッケージによってインストールされるファイルをすべて展開して表示する。 -f, --field archive [control-field...] パッケージの制御ファイルの各フィールドを表示する。 --fsys-tarfile archive Debian パッケージに含まれるインストールされるファイルが格納された tar ファイルの内容を表示する。 -I, --info archive [control-file...] パッケージに関する各種情報を表示する。
- dpkg-query actions
- 以下のアクションの詳細は、dpkg-query(1)
を参照のこと。
-l | --list package-name-pattern ... 指定したパターンにマッチする名前のパッケージの一覧を表示する。 -s | --status package-name ... 指定したパッケージの状態を報告する。 -L | --listfiles package-name ... package-name によってシステムにインストールされたファイルの一覧を表示する。 -S | --search filename-search-pattern ... 指定したファイルがどのパッケージからインストールされたか検索する。 -p | --print-avail package-name /var/lib/dpkg/available にある package-name の詳細情報を表示する。 APT ベースのフロントエンドを使っている場合は、 apt-cache show package-name コマンドを代わりに使用すること。
オプション¶
すべてのオプションは、コマンドラインと dpkg の設定ファイル/etc/dpkg/dpkg.cfg もしくは設定ディレクトリ /etc/dpkg/dpkg.cfg.d/ 内にあり、次のシェルパターン '[0-9a-zA-Z_-]*') にマッチする名前の) フラグメントファイルのいずれで指定してもよい。設定ファイルの各行は、(先頭のダッシュを削除することを除き、コマンドラインオプションとまったく同一の) オプションもしくは (行頭が # からはじまる) コメントのいずれかを記述する。- --abort-after=number
- dpkg の処理を中断させるエラー数を変更する。デフォルトは 50 である。
- -B, --auto-deconfigure
- パッケージを削除するとき、削除するパッケージに依存した別のパッケージがインストールされている場合がある。このオプションを指定すると、削除するパッケージに依存しているパッケージの設定を自動的に取り消す。
- -Doctal, --debug=octal
- デバッグモードにする。
octal は、以下の一覧
(将来のリリースでは変更される可能性があることに注意)
から、任意の値をビットごとの論理和で組み合わせた数値である。
-Dh または --debug=help
により指定可能な値が表示される。
数値 説明
1 一般的に有用な、処理の進行状況
2 管理スクリプトの呼び出しと処理状況
10 各ファイル処理の情報
100 各ファイル処理の詳細情報
20 各設定ファイルの情報
200 各設定ファイルの詳細情報
40 依存関係、競合関係
400 依存関係、競合関係の詳細情報
10000 トリガの有効化と処理状況
20000 トリガ関連の詳細情報
40000 トリガ関連の過剰ともいえる詳細情報
1000 dpkg/info ディレクトリ関連など、あまり意味のない詳細情報
2000 信じられないほど大量のあまり意味のない情報
- --force-things, --no-force-things, --refuse-things
-
- --ignore-depends=package,...
- 指定したパッケージに関する依存関係の確認を行わない (実際は、依存関係の確認は行われるが、競合が発生しても警告メッセージのみで処理を続行する)。
- --no-act, --dry-run, --simulate
- 実行されるべき処理をすべて行うが、いかなる変更も書き込まない。これは、一切変更を行わずに、指定したアクションによって何が起こるかを確認する際に用いられる。
- -R, --recursive
- 指定したディレクトリを再帰的に検索し、*.deb というパターンにマッチする通常ファイルすべてに処理を行う。これは、 -i, -A, --install, --unpack, --avail アクションに使うことができる。
- -G
- インストール済のパッケージのバージョンの方が新しければ、パッケージをインストールしない。これは --refuse-downgrade の別名である。
- --admindir=dir
- デフォルトの管理ディレクトリを変更する (デフォルトは /var/lib/dpkg)。管理ディレクトリには、パッケージのインストール状況に関する情報が格納された多種多様なファイルが存在する。
- --instdir=dir
- デフォルトのインストールディレクトリを変更する。インストールディレクトリは、パッケージのインストール先となるディレクトリである。instdir は、パッケージのインストールスクリプトが実行される前に chroot(2) にわたされるディレクトリでもある。つまり、スクリプトは instdir をルートディレクトリとみなす (デフォルトは / である)。
- --root=dir
- root を変更すると、 instdir が dir に変更され、admindir が dir/var/lib/dpkg に変更される。
- -O, --selected-only
- インストール対象として選択されたパッケージのみを処理する。選択のマーク付けそのものは、dselect や dpkg を使って行なう。例えば、パッケージ削除の際には、パッケージは削除対象としてマーク付けがされる。
- -E, --skip-same-version
- すでに同じバージョンのパッケージがインストールされている場合、パッケージをインストールしない。
dpkg が unpack, configure,
install, triggers-only, remove, purge
の各アクションを実行する前後に
“sh -c”
によって起動されるフックコマンドを指定する。このオプションは複数回指定することができ、その際オプションの指定順は保持される。設定ファイルにおける指定の方が優先度が高い。現在のアクションに対するフックは、環境変数
DPKG_HOOK_ACTION
に設定される。フロントエンドは、ある一回の操作中に
dpkg
を複数回呼び出す場合がある。そのため、フックについても想定していた回数以上に呼び出される場合がある点に留意すること。
--path-exclude=glob-pattern
glob-pattern
によりパスのフィルタ条件を指定する。これは、インストールの際に指定したパターンにマッチしたパスのファイルをインストールの対象から除外したり、除外したパスの一部を再度インストール対象としたりするために用いられる。
警告:
除外したパスによっては、システム全体が動作しなくなる可能性がある。危険性を充分理解した上で、注意して使用すること。
glob-pattern
には、シェルと同様のワイルドカードを使用することができる。'*'
は、空文字列と '/'
を含むすべての文字列にマッチする。例えば、
'/usr/*/READ*' は '/usr/share/doc/package/README'
にマッチする。例によって
'?' は任意の 1 文字
(こちらも '/' を含む)
にマッチする。'['
は、文字のリスト、範囲、補集合を含む文字クラスの開始を意味する。パターンマッチングの詳細は
glob(7)
を参照のこと。注記:
現在の実装では、安全サイドに倒してファイル展開の際のエラーを抑止しているため、ディレクトリやシンボリックリンクが過度にマッチしてしまう。この挙動は将来的に修正されるかもしれない。
これは、特定のパス以外のパスをすべて除外するために使用することができる。典型的な例を以下に示す:
これは、copyright
ファイル以外のすべてのドキュメントファイルを削除する。
この 2
つのオプションは複数回指定することができ、交互に指定していくことも可能である。その場合は指定された順番どおりに処理が行われ、ファイル名に対して最後にマッチしたルールによって、処理が決定する。
--path-exclude=/usr/share/doc/* --path-include=/usr/share/doc/*/copyright
- --status-fd n
- コンピュータが解釈可能な形式のパッケージの状態と処理の進行状況に関する情報とをファイルディスクリプタ n に引き渡す。このオプションは複数回指定することができる。情報は通常 1 行に 1 レコードずつ、以下のいずれかの形式で記載される:
- status: package: status
- パッケージのステータスが変更された。status が新しいステータスである。
- status: package : error : extended-error-message
- エラーが発生した。extended-error-message 中の改行は、出力の前に空白文字に置き換えられる。
- status: file : conffile-prompt : 'real-old ' 'real-new' useredited distedited
- ユーザは設定ファイルの処理に関する確認をされている。
- processing: stage: package
- stage に関する処理が開始される前に送信される。 stage は、upgrade, install (いずれも展開が開始される前に送信される), configure, trigproc, disappear, remove, purge のいずれかになる。
- --status-logger=command
- コンピュータが解釈可能な形式のパッケージの状態と処理の進行状況に関する情報とをシェル command の標準入力に引き渡す。このオプションは複数回指定することができる。出力形式は --status-fd と同一である。
- --log=filename
- 状態の変更やアクションの記録先を、デフォルトの /var/log/dpkg.log から filename に変更する。このオプションを複数回指定した場合は、最後に指定したファイル名が使われる。ログメッセージの形式は次のとおり。状態の変更は、`YYYY-MM-DD HH:MM:SS status state pkg installed-version。アクションは、`YYYY-MM-DD HH:MM:SS action pkg installed-version available-version で、 action は、install, upgrade, remove, purge のいずれかである。設定ファイルの変更は、`YYYY-MM-DD HH:MM:SS conffile filename decision' で、 decision は install か keepのいずれかである。
- --no-debsig
- パッケージの署名を確認しない。
- --no-triggers
- 今回の実行に際しては、いかなるトリガも実行させない (トリガの有効化自体は記録される)。 --configure package や --triggers-only package と同時に指定した場合、対象パッケージの postinst はトリガの実行が必要であっても、実行されることになる。このオプションを使用すると、パッケージが triggers-awaited や triggers-pending のまま不適切な状態で残ってしまうことがある。これは後ほど dpkg --configure --pending を実行することで解消される。
- --triggers
- 先に指定した --no-triggers を無効にする。
ファイル¶
- /etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]*
- フラグメントファイルの設定
- /etc/dpkg/dpkg.cfg
- オプションのデフォルト値を記述する設定ファイル。
- /var/log/dpkg.log
- デフォルトのログファイル ( /etc/dpkg/dpkg.cfg(5) と --log オプションも参照のこと)。
- /var/lib/dpkg/available
- 使用できるパッケージの一覧。
- /var/lib/dpkg/status
- 使用できるパッケージのステータス情報。このファイルには、パッケージが削除対象としてマークされているか、インストール済みかどうかといった情報が含まれている。詳細は、パッケージに関する情報
セクションを参照すること。
- control
- conffiles
- preinst
- postinst
- prerm
- postrm
環境変数¶
- HOME
- 設定されていた場合、dpkg は、変数の値をユーザ固有の設定ファイルの参照先のディレクトリとして使用する。
- TMPDIR
- 設定されていた場合、dpkg は、変数の値を一時ファイルおよびディレクトリを作成するディレクトリとして使用する。
- PAGER
- dpkg が設定ファイルの内容を表示するときに、実際に起動するプログラム。
- SHELL
- dpkg が新しいシェルを起動するときに、実際に起動するプログラム。
- COLUMNS
- dpkg が整形済テキストを表示する時に使用するコラム数。現在は -l オプションでのみ参照されている。
- DPKG_SHELL_REASON
- 状況を確認するために設定ファイルのプロンプトから起動されたシェルに対して、dpkg により設定される。現在のところ有効な値は conffile-prompt のみである。
- DPKG_CONFFILE_OLD
- 状況を確認するために設定ファイルのプロンプトから起動されたシェルに対して、dpkg により設定される。古い設定ファイルのパスが含まれる。
- DPKG_CONFFILE_NEW
- 状況を確認するために設定ファイルのプロンプトから起動されたシェルに対して、dpkg により設定される。新しい設定ファイルのパスが含まれる。
- DPKG_RUNNING_VERSION
- メンテナスクリプトの環境に対して、dpkg により現在実行中の dpkgのバージョンが設定される。
- DPKG_MAINTSCRIPT_PACKAGE
- メンテナスクリプトの環境に対して、dpkg により処理対象のパッケージ名が設定される。
- DPKG_MAINTSCRIPT_ARCH
- メンテナスクリプトの環境に対して、dpkg によりパッケージのビルド対象となったアーキテクチャの情報が設定される。
- DPKG_MAINTSCRIPT_NAME
- メンテナスクリプトの環境に対して、dpkg により実行中のスクリプト名 (preinst, postinst, prerm, postrm) が設定される。
例¶
vi(1) エディタに関連するインストール済パッケージの一覧を表示する。( dpkg-query は、デフォルトでは利用可能なファイルについて一切表示しないことに注意。これを行うには、代わりに dpkg-query --load-avail オプションを使用すること):dpkg -l '*vi*'
dpkg --print-avail elvis vim | less
less /var/lib/dpkg/available
dpkg -r elvis
cd /media/cdrom/pool/main/v/vim
dpkg -i vim_4.5-3.deb
dpkg --get-selections >myselections
avail=`mktemp`
apt-cache dumpavail >"$avail"
dpkg --merge-avail "$avail"
rm "$avail"
dpkg --clear-selections
dpkg --set-selections <myselections
追加機能¶
apt、aptitude、debsums パッケージをインストールすると、これ以外の機能が追加される。関連項目¶
aptitude(1), apt(1), dselect(1), dpkg-deb(1), dpkg-query(1), deb(5), deb-control(5), dpkg.cfg(5), dpkg-reconfigure(8).バグ¶
--no-act の提供する情報はたいていの場合、不充分である。著者¶
dpkg に貢献した人の一覧については、 /usr/share/doc/dpkg/THANKS を参照のこと。翻訳者¶
高橋 基信 <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>.2013-07-28 | Debian Project |