> Linux Reviews > man >

dpkg


  1. dpkg.8.man


1. dpkg.8.man

Manpage of DPKG

DPKG

Section: dpkg suite (8)
Updated: April 12, 1998
Index Return to Main Contents
 

名前

dpkg - Debian 中間レベルパッケージマネージャ

 

書式

dpkg [options] action

 

警告

このマニュアルは、dpkg のコマンドライン・オプションや パッケージ状態について、dpkg --help で得られる情報よりも さらに詳細に理解したい利用者のために書かれたものである。

パッケージ管理者は、dpkg がどのようにパッケージをインストール するのかを理解するという目的では、このマニュアルを読まないほうがよい。 パッケージをインストールするときや削除するときの dpkg の動作に 関する記述は、特に不十分である。 dpkg のよりくわしい情報については、 Gnu Info システムにある debian-faqPackage Management System というトピックを参照すること。 Debian パッケージの作成については、同じところにある Debian Package Management Tools を参照すること。 (訳注: Gnu Info 形式の debian-faq は存在しないようである。 その代わり、doc-debian パッケージをインストールした状態の /usr/share/doc/debian/FAQ ディレクトリに HTML 形式で置かれている)。

 

説明

dpkg は、Debian GNU/Linux のパッケージの、インストール、構築、 削除、管理をするためのツールである。 dselect(8) は、dpkg の代表的なフロントエンドで、 よりユーザフレンドリなツールである。 dpkg は、コマンドライン引き数によって完全に制御することができる。 コマンドライン引き数は、1つのアクションと、0個以上のオプションとで構成される。 アクションは、dpkg に何をさせるのかを指定し、オプションはそのアクションの ふるまいを制御する。

また、dpkgdpkg-deb のフロントエンドとしても使うことができる。 以下のアクションは dpkg-deb のアクションであり、dpkg に これらを引き数として与えると、dpkg-deb に同じ引き数を 与えて起動する。

    -b, --build,
    -c, --contents,
    -I, --info,
    -f, --field,
    -e, --control,
    -x, --extract,
    -X, --vextract,
    --fsys-tarfile
これらのアクションについては、dpkg-deb(1) にくわしい情報がある。

 

パッケージに関する情報

dpkg は、いくつかの利用可能なパッケージに関する有用な情報を 管理している。この情報は、パッケージ状態パッケージ選択状態、 そしてフラグの3つに分類できる。これらの値は主に dselect に よって変更される。  

パッケージ状態

installed
パッケージの展開と設定が完了している。
half-installed
パッケージのインストールは開始しているが、何らかの理由で完了していない。
not-installed
パッケージはシステムにインストールされていない。
unpacked
パッケージは展開されたが、設定はされていない。
half-configured
パッケージは展開され、設定も開始しているが何らかの理由によって 完了していない。
config-files
パッケージの設定ファイルだけが存在している。
 

パッケージ選択状態

install
パッケージはインストールするように選択されている。
deinstall
パッケージは deinstallation するように選択されている (設定ファイルを除くすべてのファイルを削除したい)。
purge
パッケージは purge するように選択されている (設定ファイルも含めたすべてのファイルを削除したい)。
 

パッケージフラグ

hold
パッケージは hold (変更禁止)されている。これは --force-hold で強制しない限り dpkg で扱わないということである。
reinst-required
パッケージは reinst-required されている。これは、壊れている 状態でインストールされていて、再インストールが要求されていると いうことである。このパッケージは --force-reinstreq で強制しない 限り、削除することができない。

 

アクション

dpkg -i | --install package_file...
指定したパッケージをインストールする。もし --recursive または -R オプションを指定する場合、package_file に、参照するディレクトリを 指定しなければならない。

インストールは、以下の手順で構成されている。

1. インストールするパッケージの制御ファイルを取り出す。

2. もし同じパッケージの別のバージョンがすでにインストール 済みの場合、新しいパッケージのインストールの前に、インストール済みの パッケージの prerm スクリプトを実行する。

3. もしパッケージが preinst スクリプトを提供している場合、 それを実行する。

4. 新しいファイルを展開する。同時に、失敗したときに元に戻せるように、 古いファイルを保存する。

5. もし同じパッケージの別のバージョンがすでにインストール済みの場合、 先にインストールされていたパッケージの postrm を実行する。この スクリプトが、新しいパッケージの preinst の後に実行されることに 注意すること。これは、新しいファイルが書き込まれるのと同時に古いファイルが 削除されるためである。

6. パッケージの設定をする。これがどのように実行されるか、 --configure の項にくわしい情報がある。

dpkg --unpack Package_file ... パッケージを展開する、しかし
設定はしない。もし --recursive または -R オプションを 指定する場合、Package_file に、参照するディレクトリを指定 しなければならない。
dpkg --configure package ... | -a | --pending
展開済みのパッケージを再設定する。もし、-a または --pending を指定した場合、まだ設定されていない展開済みのすべてのパッケージを設定する。

設定は、以下の手順で構成されている。

1. 設定ファイルを展開する。同時に、失敗したときに元に戻せるように、 古い設定ファイルを保存する。

2. もしパッケージが postinst スクリプトを提供している場合、それを実行する。

dpkg -r | --remove | -P | --purge package ... | -a | --pending
インストール済みのパッケージを削除する。 -P または --purge は、設定ファイルを含むすべてを削除する。 --remove は、設定ファイルを除いたすべてを削除する(設定ファイルの一覧は、 conffiles コントロールファイルにある)。 引き数として、パッケージ名の代わりに -a または --pending が 指定された場合には、/var/lib/dpkg/status ファイルに remove または purge の印を持つすべての展開済みパッケージを、それぞれ remove または purge する。

パッケージの削除は以下の手順で構成されている。
1. prerm スクリプトを実行する。

2. インストールしたファイルを削除する。

3. postrm スクリプトを実行する。

dpkg -p|--print-avail package
/var/lib/dpkg/available にある package に関する情報を 表示する。
dpkg --update-avail | --merge-avail Packages-file
dpkgdselect が管理する利用可能なパッケージの情報を更新する。 --merge-avail アクションは、古い情報に Packages-file の情報を 組み合わせる。 --update-avail アクションは、古い情報を Packages-file の情報で 置き換える。 Packages-file は Debian GNU/Linux と一緒に配布されている。名前は単純に Packages である。dpkg は、利用可能なパッケージの情報を /var/lib/dpkg/available に記録する。
dpkg -A | --record-avail package_file ...
dpkgdselect が管理する利用可能なパッケージの情報を、 package_file パッケージからの情報で更新する。 もし --recursive または -R オプションを指定する場合、 Package_file に、参照するディレクトリを指定しなければならない。
dpkg --forget-old-unavail
インストールされていなくて利用可能でないパッケージの情報を消去する。
dpkg --clear-avail
利用可能なパッケージの情報を消去する。
dpkg -l | --list package-name-pattern ...
与えられたパターンにマッチする名前のパッケージを表示する。 もし package-name-pattern が与えられない場合は、 /var/lib/dpkg/status にあるインストール済みのすべてのパッケージを 表示する。package-name-pattern には、標準的なシェルのワイルド文字を 使用することができる。 (シェルにファイル名展開をさせないように、package-name-pattern を クオートする必要がある。例えば、dpkg -l 'libc5*' は 名前が "libc5" ではじまるすべてのパッケージを表示する。)
dpkg -s | --status package-name ...
指定したパッケージの状況を報告する。これは、単にインストール済みパッケージ 状況データベースからの内容を表示している。
dpkg -C | --audit
インストールが完了していないパッケージを探す。dpkg はインストールを 完了させるためにどうすればよいかを提案する。
dpkg --get-selections [pattern...]
パッケージ選択リストを標準出力に書き出す。
dpkg --set-selections
パッケージ選択リストを標準入力から読み込んで設定する。
dpkg --yet-to-unpack
インストールするために選択されたが、何らかの理由でまだインストール されていないパッケージを探す。
dpkg -L | --listfiles package ...
package からインストールしたファイルを表示する。ただし、パッケージ 付属のインストールスクリプトによって作成されたファイルは表示されない ことに注意すること。
dpkg -S | --search filename-search-pattern ...
指定したファイルがどのパッケージからインストールされたかを探す。 パターンには、標準的なシェルのすべてのワイルド文字を使用することができる。
dpkg --print-architecture
ターゲットアーキテクチャ(例えば、“i386”)を表示する。このオプションは gcc を使用する。
dpkg --print-gnu-build-architecture
GNU バージョンのターゲットアーキテクチャ(例えば、“i486”)を表示する。
dpkg --print-installation-architecture
インストールするホストのアーキテクチャを表示する。
dpkg --compare-versions ver1 op ver2
2項演算子 op で2つのバージョンを比較する。 dpkg の返り値は、指定した条件を満たすなら成功(0)、そうでなければ 失敗(0以外)となる。 演算子は2つグループにわかれる。これは ver1ver2 が 欠けているときのふるまいの違いによる。 lt le eq ne ge gt は、欠けているバージョンがどれよりも古いとみなす。 lt-nl le-nl ge-nl gt-nl は、欠けているバージョンがどれよりも新しい とみなす。 < << <= = >= >> > は、制御ファイルの文法との互換性のためだけに 提供されている。

dpkg --command-fd <n>
ファイル記述子 <n>から一連のコマンドをうけいれる。注意: 追加のオプションはコマンドラインとこのファイル記述子を通じて指定でき 一回の実行を通じてそれらがリセットされることはない。
dpkg --help
簡単なオプション一覧を表示する。
dpkg --force-help
--force-thing オプション一覧を表示する。
dpkg -Dh | --debug=help
デバッグ用オプション一覧を表示する。
dpkg --licence | dpkg --license
dpkg のライセンスを表示する。
dpkg --version
dpkg のバージョン情報を表示する。
dpkg-deb-actions
以下のアクションのくわしい情報は dpkg-deb(1) を参照すること。

dpkg -b | --build directory [filename]
    Debian GNU/Linux パッケージを構築する。
dpkg -c | --contents filename
    Debian GNU/Linux パッケージに含まれるファイル一覧を表示する。
dpkg -e | --control filename [directory]
    パッケージから制御情報を取り出す。
dpkg -x | --extract filename directory
    パッケージに含まれるファイルをすべて取り出す。
dpkg -f | --field  filename [control-field] ...
    パッケージの制御フィールドを表示する。
dpkg --fsys-tarfile filename
    Debian パッケージに含まれる tar ファイルを表示する。
dpkg -I | --info filename [control-file]
    パッケージに関する情報を表示する。
dpkg -X | --vextract filename directory
    パッケージに含まれるファイルを展開し、ファイル名を表示する。

 

オプション

すべてのオプションは、コマンドラインや dpkg の設定ファイルで ある /etc/dpkg/dpkg.cfg の中で指定できる。設定ファイルは、 1 行に 1 つのオプション(コマンドラインオプションとまったく同じ、 ただし頭のダッシュを取る)か、コメント(最初に # で始まる) で構成される。
--abort-after=number
dpkg の処理を中断させるエラー数を変更する。デフォルトは 50 である。
-B|--auto-deconfigure
パッケージを削除するとき、削除するパッケージに依存した別のパッケージが インストールされて場合がある。このオプションを指定すると、削除する パッケージに依存しているパッケージの設定を取り消す。
-Doctal | --debug=octal
デバッグモードにする。 octal は、以下の一覧から望む値をビットごとの論理和で組み合わせた ものである(これらの値は、将来のリリースでは変更される可能性があるので 注意すること)。-Dh または --debug=help はこれらの値を表示する。


 数値   説明
    1   一般的に役に立つ進行状況
    2   管理スクリプトの実行状況と状態
   10   各ファイル処理の情報
  100   各ファイル処理の大量の情報
   20   各設定ファイルの情報
  200   各設定ファイルの大量の情報
   40   依存関係、競合関係
  400   依存関係、競合関係の大量の情報
 1000   dpkg/info ディレクトリなどに関する大量の情報
 2000   正気でないほどの大量の情報

--force-things | --no-force-things | --refuse-things
指定した things を強制実行する(force)、または拒否する(refuse) (no-forcerefuse は同じ意味)。things に、 以下の項目をコンマで区切って指定する。--force-help オプションで これらの説明を表示する。(*)の印のものは、デフォルトで強制実行される。

警告: これらのオプションは、おもに熟練したユーザだけが使うことを意図したものである。 影響を完全に理解しないままにこれらを使うと、システム全体を壊してしまうかも しれない。

all: 全ての強制オプションを指定する(noならば指定しない)

auto-select(*): インストールするパッケージを選択し、削除するパッケージを非選択にする。

downgrade(*): インストールするパッケージよりも新しいバージョンのパッケージがすでに インストールされていても、インストールをする。

configure-any: 指定したパッケージに依存していて、すでに展開されているが、まだ設定されて いないパッケージも一緒に設定をする。

hold: たとえ“hold”と印されていても、そのパッケージの処理をする。

remove-reinstreq: 壊れていて、再インストールが必要だと印をされていたとしても、パッケージを 削除する。これにより、例えば、パッケージの一部が dpkg に管理されない で残るなどの問題がおこるかもしれない。

remove-essential: essential とされるパッケージであっても削除する。essential パッケージには、 たいてい最も基本的な UNIX コマンドが含まれる。これらのパッケージを削除 すると、システム全体が動作しなくなることもあるので、注意して削除すること。

depends: すべての依存問題を警告に変える。

depends-version: 依存関係の確認をするとき、バージョンを無視する。

conflicts: 他のパッケージと競合してもインストールする。たいていはいくつかファイルを 上書きすることになるため、危険である。

confnew: 設定ファイルが変更されていた場合、問い合わせなしに新しいバージョンの 設定ファイルをインストールする。

confold: 設定ファイルが変更されていた場合、問い合わせなしに古いバージョンの 設定ファイルを保持する。

confdef: 設定ファイルが変更されていた場合、常にデフォルトの動作をする。 --force-confnew--force-confold がある場合でも、常に デフォルトの動作をする。デフォルトがない場合は、これらのオプションの 与え方によって新しい、または古いバージョンの設定ファイルを使用する。

overwrite: あるパッケージで提供されているファイルを、インストールするパッケージの ファイルで上書きする。

overwrite-dir あるパッケージで提供されているディレクトリをインストールするパッケージの ファイルで上書きする。

overwrite-diverted: 退避(divert した)版のファイルを非退避(divert していない)版のファイル で上書きする。

architecture: パッケージが間違ったアーキテクチャ用であっても処理をする。

bad-path: 重要なプログラムが PATH に含まれていなくても実行する。問題が起きる 可能性は高い。

not-root: root でないときでも、それをインストール(または削除)しようと試みる。

--ignore-depends=package,...
指定したパッケージに関する依存関係の確認を無視する(実際は、依存関係を 確認し、競合に対して警告メッセージを出して、アクションを実行する)。
--new | --old
パッケージのフォーマットが新しいか古いかを指定する。 これは dpkg-deb(1) のオプションである。
--nocheck
パッケージを構築するときに、制御ファイルの内容を読むことも確認もしない。 これは dpkg-deb(1) のオプションである。
--no-act
期待される動作をすべて実行するが、どのような変更も書き込まない。 これは、実際にはシステムに何の変更も加えずに、指定したアクションで 何がおこるのかを確認するためのものである。

オプション --no-act は、必ずアクションより前に与えること。 さもなくば、望ましくない結果が起きる可能性がある。 (例えば、システムに何も変更を加えるつもりがないのに、 dpkg --purge foo --no-act を実行すると、最初にパッケージ foo が 本当に purge され、次にパッケージ --no-act が purge されることになる)

-R | --recursive
指定したディレクトリを再帰的に検索し、みつけた *.deb という パターンにマッチするファイルをすべて扱う。これは、-i, -A, --install, --unpack そして --avail アクションとともに使うことができる。
-G
インストール済みのパッケージのほうがバージョンが新しければ、インストール しない。これは --refuse-downgrade の別名である。
--root=dir | --admindir=dir | --instdir=dir
デフォルトのディレクトリを変更する。admindir はインストール済みの パッケージやインストールされていないパッケージの状態に関する情報などを 提供する、多数のファイルが格納されているディレクトリで、デフォルトは /var/lib/dpkg である。instdir はパッケージがインストール するときに参照されるディレクトリで、デフォルトは / である。 また、instdir は、パッケージのインストールスクリプトが実行 される前に chroot(2) するディレクトリのパスである。つまり、 スクリプトは instdir をルートディレクトリとみなす。 root を変更すると、instdirdir に、admindirdir/var/lib/dpkg に変更する。
-O | --selected-only
インストール(または削除)作業のために選択したパッケージのみを処理する。 実際には、dselectdpkg を使って複数のパッケージを選択する。 例えば、あるパッケージが削除されるとき、そのパッケージはインストール 作業で選択状態になるはずである。

インストール(またはアップグレード)の指定をされているパッケージだけを 処理する。インストールの指定は、dselectdpkg で行なう。

-E | --skip-same-version
すでに同じバージョンのパッケージがインストールされていたら、インストール しない。
--status-fd <n>
ファイル記述子 <n>にパッケージ状態の情報を送る。これは複数与えることが できる。状態の情報は `status: <pkg>: <pkg qstate>'の形式である。

 

ファイル

/etc/dpkg.cfg
オプションのデフォルト値を記述する設定ファイル。 このほかの、以下に示すファイル一覧はデフォルトの値である。どのようにして ファイルの位置を変更するかについては、--admindir オプションの項を 参照すること。
/var/lib/dpkg/available
使用できるパッケージの一覧。
/var/lib/dpkg/status
使用できるパッケージの状態。このファイルは、パッケージに削除の印があるか どうか、インストール済みかどうか、などの情報が含まれている。くわしくは、 パッケージに関する情報 の項を参照すること。 以下のファイルはバイナリパッケージを構成するファイルである。これらの ファイルに関するくわしい情報は、deb(5) を参照すること。
control
conffiles
preinst
postinst
prerm
postrm

 

環境変数

DPKG_NO_TSTP
任意の値で定義すると、シェルエスケープをしたときに dpkg自体 を一時停止 (suspend)するのではなく、新しいシェルを起動する。
SHELL
dpkg が新しいシェルを起動するときに、実際に起動するプログラム。
COLUMNS
dpkgが整形テキストを表示する時に参照するコラム数。 現在は -l オプションでのみ参照されている。

 

vi エディタに関連のあるパッケージの一覧を表示する。
dpkg -l '*vi*'

2つのパッケージの /var/lib/dpkg/available にある項目を表示する。
dpkg --print-avail elvis vim | less

自分でパッケージのリストから検索する。
less /var/lib/dpkg/available

elvis パッケージを削除する。
dpkg -r elvis

パッケージをインストールするには、まずそのパッケージをアーカイブや CDROMから探す必要がある。“available”ファイルによれば、vimパッケージは “editors”セクションに属している。
cd /cdrom/hamm/hamm/binary-i386/editors dpkg -i vim_4.5-3.deb

パッケージ選択状況のコピーを作成する。
dpkg --get-selections >myselections

このファイルをほかのコンピュータに転送して、インストールする。
dpkg --set-selections <myselections
これは実際にはインストールも削除もしないことに注意。これは単に 要求しているパッケージの選択状態を設定するだけである。実際に 要求しているパッケージをダウンロードしインストールするには別の アプリケーションが必要である。

通常、パッケージの選択状態を変更するには dselect(8) を 使用するほうが便利である。
 

関連項目

dselect(8), dpkg-deb(1), deb(5), deb-control(5)

 

バグ

--no-act の提供する情報はたいていの場合、不充分である。  

著者

dpkgに貢献した人のリストは /usr/share/doc/dpkg/THANKSに
挙げてある。
 

日本語版翻訳

喜瀬浩 <fuyuneko@ryukyu.ne.jp>  

日本語版校正

Debian JP Documentation ML <debian-doc@debian.or.jp>  

翻訳者注

このマニュアルページは dpkg パッケージのバージョン1.9.0に付属の dpkg(8)の日本語訳である。


 

Index

名前
書式
警告
説明
パッケージに関する情報
パッケージ状態
パッケージ選択状態
パッケージフラグ
アクション
オプション
ファイル
環境変数
関連項目
バグ
著者
日本語版翻訳
日本語版校正
翻訳者注

This document was created by man2html using the manual pages.
Time: 17:38:18 GMT, October 23, 2013

SVENSKA - SVENSKA - SVENSKA - pl