dpkg-deb - Debian
パッケージアーカイブ
(.deb) 操作ツール
dpkg-deb [
option...]
command
dpkg-deb は、Debian
アーカイブの作成、展開、情報の表示を行う。
パッケージをシステムにインストールしたり削除したりするには
dpkg を使うこと。
また、
dpkg-deb
に引き渡したいオプションを指定して
dpkg
を実行することで、
dpkg-deb
を実行することもできる。
dpkg は、
dpkg-deb
用のオプションであると判断すると、
dpkg-deb を起動する。
コマンド¶
- -b, --build directory
[archive|directory]
- directory
以下のファイルシステムツリーから
debian
アーカイブを作成する。
directory には、control
ファイルなどの制御情報ファイルのある
DEBIAN
サブディレクトリが必ず存在しなければならない。
DEBIAN
ディレクトリはバイナリパッケージのファイルシステム・アーカイブには
含まれない。代わりに
DEBIAN
ディレクトリ以下にあったファイルはバイナリパッケージの制御情報エリアに置かれる。
--nocheck
を指定しないかぎり、
dpkg-deb は DEBIAN/control
を読み込んで解析する。
dpkg-deb
は、文法エラーなどの問題のチェックを行い、ビルド中のバイナリパッケージ名を表示する。
dpkg-deb は、 DEBIAN
制御情報ディレクトリにある、メンテナスクリプトなどのファイルのパーミッションもチェックする。
archive
が指定されない場合、
dpkg-deb はパッケージを
directory.deb
という名前で作成する。
作成するアーカイブが既に存在している場合は、上書きする。
2
番目の引数がディレクトリの場合、
dpkg-deb は
package_version_arch .deb
または package_version.deb
(パッケージ制御ファイルに
Architecture
フィールドがない場合)
というファイルを作成する。ファイル名の代わりにディレクトリを指定するときには、
--nocheck
オプションを使用してはいけない
( dpkg-deb
は、使用するファイル名を確認するために、パッケージ制御ファイルを読み込んで解析する必要があるため)。
- -I, --info archive
[control-file-name...]
- バイナリパッケージアーカイブの情報を表示する。
control-file-name
が指定されていない場合は、制御ファイルの一覧と、パッケージの概要を表示する。
control-file-name
が指定された場合、
dpkg-deb
は指定された順でファイルの内容を表示する。指定したファイルの一部が存在しない場合、存在しないファイル各々について、標準エラー出力にエラーメッセージを表示し、そして終了ステータス
2 で終了する。
- -W, --show archive
- バイナリパッケージアーカイブの情報を
--showformat
引数で指定した形式で表示する。デフォルトの形式では、パッケージ名とバージョンがタブで区切られて
1 行に表示される。
- -f, --field archive
[control-field-name...]
- バイナリパッケージアーカイブから制御ファイル情報を取り出す。
control-file-field
が指定されていない場合、control
ファイルのすべての内容が表示される。
control-file-field
が指定されている場合、
dpkg-deb
は指定されたフィールドの内容を制御ファイルに記載されている順に表示する。
control-file-field
が複数指定された場合、
dpkg-deb
は、各々の前にフィールド名
(およびコロンとスペース)
を表示する。
指定したフィールドがみつからない場合でもエラーにはならない。
- -c, --contents archive
- パッケージアーカイブに含まれるファイルシステムツリーの内容を表示する。現在は、tar
の冗長表示 (-v
オプション)
の形式で表示する。
- -x, --extract archive directory
- パッケージアーカイブから、ファイルシステムツリーを指定したディレクトリに展開する。
ルートディレクトリにパッケージを展開しても、正しいインストールには
ならないことに注意
!
パッケージのインストールには
dpkg を使うこと。
directory
(親ディレクトリは含まない)
は必要に応じて作成される。
- -X, --vextract archive directory
- --extract (-x) に --verbose
(-v)
を付加したオプションと同様だが、実際にファイルを展開して一覧を表示する。
- -R, --raw-extract archive
directory
- パッケージアーカイブから、ファイルシステムツリーを指定したディレクトリに展開し、制御情報ファイルを、DEBIAN
サブディレクトリに展開する。
指定したディレクトリ
(親ディレクトリは含まない)
は必要に応じて作成される。
- --fsys-tarfile archive
- バイナリパッケージからファイルシステムツリーを展開し、標準出力に
tar
形式で出力する。
tar(1)
と組み合わせて使用することで、特定のファイルをパッケージアーカイブから取り出すことができる。入力のアーカイブは、常に
1
つずつ処理される。
- -e, --control archive
[directory]
- パッケージアーカイブから制御情報ファイルを指定したディレクトリに展開する。
ディレクトリが指定されない場合、カレントディレクトリの
DEBIAN
サブディレクトリに展開する。
指定したディレクトリ
(親ディレクトリは含まない)
は必要に応じて作成される。
- -?, --help
- 利用方法を表示して終了する。
- --version
- バージョン情報を表示して終了する。
オプション¶
- --showformat=format
- このオプションは、--show
の出力の書式を指定するものである。書式は、一覧表示される各パッケージの出力を制御する文字列である。
文字列は "${ field-name}"
形式であらゆる status
フィールドを参照することができる。有効なフィールドの一覧は、対象のパッケージに
-I
を使用することで簡単に確認できる。書式オプションの網羅的な解説
(エスケープシーケンスやフィールドでのタブの使い方を含む)
は、 dpkg-query(1)の --showformat
オプションの解説を参照のこと。
このフィールドのデフォルトの書式は
"${Package}\t${Version}\n" である。
- -zcompress-level
- パッケージのビルドの際に、圧縮を行うバックエンドのプログラムに引き渡す圧縮レベルを指定する
(デフォルトは、gzip
および bzip2 の場合 9、xz
および lzma の場合
6)。指定可能な値は 0-9
であり、gzip の場合 0
は非圧縮に対応するが、bzip2
の場合 0 は 1
とみなされる。dpkg 1.16.2
より前では、すべての圧縮プログラムにおいて、レベル
0
は非圧縮と等価となる。
- -Scompress-strategy
- パッケージのビルドの際に、圧縮を行うバックエンドのプログラムに引き渡す圧縮ストラテジーを指定する
(dpkg 1.16.2
以降)。指定可能な値は、
none (dpkg 1.16.4 以降) と、xz
用の extreme である。
- -Zcompress-type
- パッケージのビルドの際に使用する圧縮タイプを指定する。指定可能な値は
gzip, xz, bzip2, lzma, none
(デフォルトは gzip)
である。
- --new
- dpkg-deb に `新しい'
形式のアーカイブを構築させる。これはデフォルトの動作である。
- --old
- dpkg-deb に `古い'
形式のアーカイブを構築させる。この古いアーカイブ形式は、新しい形式よりも
Debian
以外のツールで処理することが難しく、現在は廃止されている。このオプションは、i386
の a.out
形式のみを対象としてリリースされた、バージョン
0.93.76 (1995 年 9 月) 以前の dpkg
で処理するためのパッケージをビルドする時のみ使用すること。
- --nocheck
- dpkg-deb --build
の際に通常実施される、アーカイブの内容のチェックを実施しない。これにより、アーカイブの内容に問題があっても、アーカイブをビルドすることができる。
- -v, --verbose
- 詳細な出力を有効にする。現在のところ、これは
--extract に --vextract
と同様の挙動をさせる場合のみ有効である。
- -D, --debug
- デバッグ出力を有効にする。これはあまり面白いものではない。
環境変数¶
- TMPDIR
- TMPDIR
が設定されている場合、
dpkg-deb
は、一時的なファイルやディレクトリを作成するディレクトリとして使用する。
dpkg-deb -I package1.deb package2.deb
は適切に動作しない。
.deb
ファイルには認証という概念がなく、単純なチェックサムすらもない
(APT
のような高レイヤのツールは、指定されたリポジトリから情報を収集することで
.deb
パッケージの認証をサポートしている。また大半のパッケージは近年debian/rules
によって生成される
md5sum
制御ファイルを提供している。しかし、これらは低レイヤのツールが直接的にサポートしているものではない。
dpkg-deb
でソフトウェアをインストールしようとしてはいけない!すべてのファイルの適切なパスへインストール、パッケージのスクリプトの実行、ステータスや内容の記録を確実に実行するために、必ず
dpkg を使うこと。
関連項目¶
deb(5),
deb-control(5),
dpkg(1),
dselect(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>.