dpkgディーピーケージー[要出典])とはDebianパッケージ管理システムの基礎となるソフトウェアである。dpkgは .deb の拡張子を持ったパッケージをインストール、削除し、そしてパッケージの情報を得るために使われる。

dpkg
作者 Ian Murdock
開発元 dpkgチーム
最新版
1.19.7[1] / 2019年6月3日 (5年前) (2019-06-03)
最新評価版
1.19.7[2] / 2019年6月3日 (5年前) (2019-06-03)
リポジトリ ウィキデータを編集
プログラミング
言語
C言語
対応OS Unix-like, POSIX
種別 パッケージ管理システム
ライセンス GNU General Public License
公式サイト wiki.debian.org/Teams/Dpkg
テンプレートを表示

dpkg自身は低水準のツールである。パッケージをリモートホストから取得したり、複雑なパッケージ間の依存関係を扱うためには、APTのようなより高水準のツールが使われる。さらに、dpkgよりも洗練されたパッケージ間の依存関係の処理方法や親切なインターフェイスを持っているaptitudesynapticのようなソフトウェアの方がよく使われる。

Debianパッケージ "dpkg" はdpkgプログラムを提供している。さらに、それ以外にもdpkg-statoverridedpkg-divertupdate-alternativesなど、パッケージシステムを機能させるために実行時に必要ないくつかのプログラムを提供している。また、start-stop-daemoninstall-infoのようなプログラムも含まれている。一方、Debianパッケージ "dpkg-dev"には、以下に述べるパッケージ構築用の多くのツールが含まれている。

歴史

編集

dpkgはもともとマット・ウェルシュカール・ストリーターイアン・マードックによって作られたものである。最初はPerlのプログラムであったが、後に1993年に大部分がイアン・ジャクソンによってC言語で書き直された。dpkgという名前はもともと"Debian パッケージ(package)"を省略したものであったが、dpkgというソフトウェアは、Debianパッケージがどのように振る舞うか定義するDebianポリシーのみならず、debパッケージのフォーマットと密接に関わってきているので、その意味は明確に変わってきている。

具体例

編集

.debパッケージをインストールするには以下のように入力する。

dpkg -i debFileName

ここで、debFileNameはパッケージの情報を含むファイルの名前であり、一般的に .debという拡張子を持っている。このコマンドはroot権限で実行する必要がある。

インストールされているパッケージのリストは以下のコマンドで得られる。

dpkg -l [optional pattern]

インストールされているパッケージを削除するためには以下のコマンドを実行する。

dpkg -r packageName

.debパッケージの各種情報(他パッケージとの依存関係・バージョン等)は以下のコマンドで見られる。

dpkg -I debFileName

.debパッケージからインストールされるファイルは以下のコマンドで確認できる。

dpkg -c debFileName

パッケージからインストールされたファイルは以下のコマンドで確認できる。

dpkg -L packageName

開発用ツール

編集

dpkg-devには、パッケージを構築する際に呼び出される以下のツール群が含まれている。

  • dpkg-source - Debianパッケージのソースファイルを圧縮し展開する。
  • dpkg-deb - バイナリパッケージを圧縮し展開する。
  • dpkg-gencontrol - 展開された Debianソースのツリーから情報を読み込み、バイナリパッケージのcontrolファイルを生成し、debian/filesの中にバイナリパッケージの名前を挿入する。
  • dpkg-shlibdeps - ライブラリに関する実行時の依存関係を計算する。
  • dpkg-genchanges - 展開されたすでに構築済みのDebianソースツリーから情報を読み込み、コントロールファイル(.changes)を作り出す。
  • dpkg-buildpackage - パッケージを自動的に構築するために使うことができる制御用スクリプト。
  • dpkg-distaddfile - debian/files にファイル名を追加する。
  • dpkg-parsechangelog - 展開されたDebianソースツリーの更新履歴ファイル(changelog)を読み、その履歴の情報から整形済みの出力を作り出す。

脚注

編集
  1. ^ stable_changelog”. 2020年2月10日閲覧。
  2. ^ unstable_changelog”. 2020年2月10日閲覧。

関連項目

編集

比較

編集
  • dpkgはRPMと類似している。
  • ipkgは容量が制限されたLinux向けのパッケージ管理システムである。dpkgの影響を受けている。

外部リンク

編集