Dpkg

dpkg (ディーピーケージー) について



dpkgは、Debianパッケージ管理システムの根幹をなすソフトウェアです。`.deb`という拡張子を持つパッケージファイルのインストール、削除、およびパッケージに関する情報の取得を行うための基本的なツールとして機能します。

dpkgの役割



dpkg自体は低水準のツールであり、パッケージをリモートサーバーからダウンロードしたり、複雑な依存関係を自動的に解決する機能は持ち合わせていません。これらの高度な機能は、APT(Advanced Package Tool)などのより高水準なツールによって提供されます。また、aptitudeやsynapticといった、よりユーザーフレンドリーなインターフェースを持つツールも、dpkgを基盤として利用されています。

Debianパッケージの`dpkg`には、`dpkg`コマンド本体に加えて、`dpkg-statoverride`、`dpkg-divert`、`update-alternatives`など、パッケージシステムが正常に機能するために必要な複数のユーティリティプログラムが含まれています。さらに、`start-stop-daemon`や`install-info`といったプログラムも提供されます。

一方、`dpkg-dev`パッケージには、後述するパッケージ構築のための開発ツール群が含まれています。

歴史



dpkgは、当初マット・ウェルシュ、カール・ストリーター、イアン・マードックによって開発されました。最初のバージョンはPerlで書かれていましたが、1993年にイアン・ジャクソンによって大部分がC言語で書き直されました。

「dpkg」という名前は、もともと「Debian package」の略でしたが、ソフトウェアとしてのdpkgは、Debianパッケージの動作を定義するDebianポリシーだけでなく、`.deb`パッケージのフォーマットとも密接に関連しているため、その意味合いはより広いものになっています。

基本的な使い方



以下に、dpkgの基本的な使い方をいくつか示します。

パッケージのインストール


`.deb`パッケージをインストールするには、以下のコマンドを実行します。

bash
sudo dpkg -i debFileName.deb


`debFileName.deb`は、インストールする`.deb`パッケージファイルの名前です。このコマンドは、通常、root権限で実行する必要があります。

インストール済みパッケージの一覧表示


インストールされているパッケージの一覧を表示するには、次のコマンドを使用します。

bash
dpkg -l [オプションパターン]


オプションパターンを指定することで、特定のパターンに一致するパッケージのみを表示できます。

パッケージの削除


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

bash
sudo dpkg -r packageName


`packageName`は削除したいパッケージの名前です。

パッケージ情報の表示


`.deb`パッケージの詳細な情報(依存関係、バージョンなど)を表示するには、次のコマンドを使用します。

bash
dpkg -I debFileName.deb


パッケージに含まれるファイル一覧の表示


`.deb`パッケージに含まれるファイルの一覧を表示するには、次のコマンドを使用します。

bash
dpkg -c debFileName.deb


インストール済みパッケージのファイル一覧表示


インストール済みのパッケージに含まれるファイルの一覧を表示するには、次のコマンドを使用します。

bash
dpkg -L packageName


開発用ツール



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

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


関連情報



apt: より高水準のパッケージ管理ツール
alien: 他のパッケージ形式(例:RPM)を`.deb`形式に変換するツール

比較



dpkgは、RPM(Red Hat Package Manager)と類似の機能を持つパッケージ管理システムです。また、ipkgは、リソースが限られたLinux環境向けのパッケージ管理システムで、dpkgの影響を受けています。

外部リンク



Debianのdpkgパッケージ
debian-dpkgメーリングリスト
dpkg(8) マニュアルページ
General Origin handling

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。