factograf
JA
ログイン

Debianのパッケージ管理ソフトウェア

dpkg

Dpkg

基本情報

成立日1994年1月
出版日1994年1月1日
分類システム=レベル・パッケージ・マネージャー, 自由ソフトウェア
インフォボックスの全データ 11
作者
イアン・マードック
開発元
Debianプロジェクト
初版
1994年1月
最新版
1.22.22 / 2026年3月6日
リポジトリ
git.dpkg.org
プログラミング言語
C言語、C++、Perl
対応OS
Unix系
対応言語
42言語
種別
パッケージ管理システム
ライセンス
GNU General Public License
公式サイト
wiki.debian.org/Teams/Dpkg

dpkgは、自由なオペレーティングシステムDebianとその多数の派生OSのパッケージ管理システムの基盤となるソフトウェアである。dpkgは、.debパッケージのインストール、削除、および情報の提供に使用される。

dpkg (Debian Package) 自体は低水準のツールである。高水準のツールであるAPTは、リモートホストからパッケージを取得したり、依存関係の解決などの複雑なパッケージ関係を処理できるため、dpkgよりもよく使用される。aptitude(ncurses)やsynaptic(GTK)などのAPTのフロントエンドは、より使いやすいインターフェイスとして使用される。

Debianパッケージ「dpkg」は、dpkgプログラムのほか、dpkg-deb、dpkg-split、dpkg-query、dpkg-statoverride、dpkg-divert、dpkg-triggerなど、パッケージシステムの実行時に必要ないくつかのプログラムも提供している。また、update-alternativesやstart-stop-daemonのようなプログラムも含まれている。Debianパッケージ「dpkg-dev」には、以下で述べる多数のビルドツールが含まれている。

歴史

Linux用パッケージ管理システムの最初の試みは、ノースダコタ州ファーゴのロジャー・マリス・キャンサー・センターのグレッグ・ウェットスタインによるStopAlopの開発であるとされている。これがdpkg作成のインスピレーションとなった。dpkgは当初、1994年1月にイアン・マードックによってシェルスクリプトとして作成された。マット・ウェルシュ、カール・ストリーター、イアン・マードックはそれをPerlで書き直し、その後、主要部分は1994年にイアン・ジャクソンによってC言語で書き直された。dpkgという名前は元々「Debian package」を省略したものであったが、dpkgソフトウェアはdebパッケージフォーマットや、DebianでのDebianパッケージの動作を定義するDebianポリシーマニュアルとも密接に関わってきているため、その語句の意味は変化している。

具体例

.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)を読み、その履歴の情報から整形済みの出力を作り出す。

関連プログラム

dselect

dpkgソースパッケージにはフロントエンドソフトウェアであるdselectも含まれている。

install-info

install-infoプログラムはかつてdpkgソフトウェアパッケージに含まれていたが、後にGNU Texinfoの一部として別途開発・配布されるようになったため削除された。

wpkg

wpkgは、Microsoft Windowsオペレーティングシステムで実行されるdpkgの類似プログラムとして作成された。.debファイル形式の互換性が保持されている。その後、APTスイートに似た機能や、改善されたリポジトリ管理、配布管理が含まれるように進化し、LinuxおよびUnix系システムに移植された。2024年3月現在、ソフトウェアの最新リリースは2015年である。

次に読む

30の言語

ウィキペディアのテキスト、CC BY-SA 4.0 · 元の記事