Linuxコマンド辞典 dpkgコマンド(debパッケージ管理)

Debian用パッケージ(.deb)のインストール/アンインストール/ビルド/パッケージリスト参照など行うdpkgコマンドの概要と使い方を記載しています。

Deblan Ubuntu

概要・使用方法

Debian用パッケージ(.deb)のインストール/アンインストール/ビルド/パッケージリスト参照など行うコマンド

書式

$dpkg アクション [オプション] パッケージ名

Debianパッケージでは厳格なパッケージ管理が行われることから、より安定性が高いシステムが提供される反面、目的のパッケージを入手してdpkgコマンドを実行しただけでは依存の問題によりインストールできないことがあります。

あらかじめ、こちらのサイトで依存関係をチェックしてから実行したほうが良いでしょう。

現在では、APT(the Advanced Packaging Tool)が登場しており、依存関係や競合意識する必要がなくなっています。

アクション

-l パッケージ名
–info パッケージ名
指定したdebパッケージの情報を表示する
-f パッケージ名[フィールド]
–field アーカイブ[フィールド]
debパッケージの中からパッケージ情報を取り出す。フィールドを指定しない場合は含まれるすべてのフィールドを表示する
-e アーカイブ ディレクトリ名
–control アーカイブ ディレクトリ名
アーカイブに指定したdebパッケージから制御ファイルを指定したディレクトリに展開する
-x パッケージ名 ディレクトリ名
–extract パッケージ名 ディレクトリ名
指定したdebパッケージを、指定したディレクトリに展開する
-X パッケージ名 ディレクトリ名指定したdebパッケージを、指定したディレクトリに展開ファイルリストを表示しながら展開する
–fsys-tarfile パッケージ名指定したdebパッケージを展開し、tar形式で標準出力に出力する
-i パッケージ名 ・・・
–install パッケージ名
指定したdebパッケージをインストールする
–unpack パッケージ名指定したdebパッケージを展開するが、設定は行わない
–configure パッケージ名指定したdebパッケージを設定する。パッケージ名の代わりに-aオプションもしくは–pengingオプションをつけると、未設定なパッケージすべてを設定する
-r パッケージ名
–remove パッケージ名
指定したパッケージを設定ファイルを残して削除する
-P パッケージ名
–purge パッケージ名
指定したパッケージを設定ファイルを含め、完全に削除する
-p パッケージ名
–print-avail パッケージ名
指定したパッケージの情報を表示する
-l パターン
–list パターン
マッチした名前のパッケージを表示する。
パッケージを指定しない場合は、/var/lib/dpkg/statusになるインストール済の情報をすべて表示する
-s パッケージ名
–status パッケージ名
指定したパッケージの状態を表示する
-L パッケージ名
–listfile パッケージ名
指定したパッケージのインストールファイル一覧を表示する
-S パターン
–search パターン
指定したパターンが属しているパッケージ名を表示する
-V パッケージ名
–verify パッケージ名
インストールしたファイルはdpkgがハッシュ値を管理している。これを参照してインストール後のファイルが改竄されているか確認する
オプション一覧表

debパッケージをインストール

#dpkg -i パッケージ名

「Setting locale failed.」というメッセージが表示された場合は、ロケールの設定に失敗したという警告となり、インストール自体は正常に行われています。

パッケージをアンインストール

設定ファイルを残したままアンインストール

#dpkg -r パッケージ名

関連ファイルを含めてアンインストール

#dpkg -P パッケージ名

パッケージの中身を表示する

#dpkg -c パッケージ名

パッケージを指定したディレクトリに展開する

#dpkg -x パッケージ名 ./

debパッケージをtarアーカイブに変換する

#dpkg --fsys-tarfile パッケージ名 > アーカイバファイル名.tar

パッケージの状態を調べる

-l 及び–listを付けて実行します。インストールされているすべてのパッケージの状態が表示されます。

#dpkg -l パッケージ名

dpkg -lコマンドで表示される情報

※1

1文字目PACKAGE SELECTION STATES(アップグレードのパッケージ処理を示す)
u(unknown)不明
h(hold)ホールド(維持)する
i(install)インストールする
r(remove)アンインストール(既存の設定ファイルは保持)する
p(purge)アンインストール(既存の設定ファイルも削除)する
2文字目PACKAGE STATES(パッケージの現状を示す)
i(install)インストールされている
n(not-installed)インストールされていない
c(config-files)設定されていない
u(unpacked)展開されていない
f(half-installed)設定の途中で失敗している
h(half-installed)インストールの途中で失敗している
w(triggers-awaited)トリガ待ち(他パッケージの進行待ち)
t(triggers-pending)トリガ保留(他のパッケージが使用中)
3文字目PACKAGE FLAGS(エラーの程度を示す)
(blank)エラーなし
h(hold)ホールド(維持)
r(reinst-required)インストールのしなおしを要する
x障害がある

パッケージの内容を表示する

どのようなファイルがどのパスにインストールされているか表示します。

#dpkg -L パッケージ名 

パッケージの詳細情報を表示する

指定されたパッケージの詳細を表示します。

#dpkg -s パッケージ名

dpkg -sコマンドにより表示される情報

Package
(パッケージ名)
パッケージ名が表示される
Status
(インストール状況)
※1参照
Priority(優先度)

大体のパッケージは「optional」となっているが優先度の順に以下のいずれかになる。

required(必須)システムの動作に必要となるパッケージ
important(重要)インストールしたほうがよい重要パッケージ
standard(標準)インストールしたほうがよい標準パッケージ
optional(任意)必要に応じてインストール可能なパッケージ
extra(特別)requiredと衝突する特別なパッケージ
section(セクション)Debianパッケージは基本的にDFSGに準拠したものであり、ソースコードを入手し改変や派生プログラムの作成が可能である。ただし法律上の制限があるものもあるので、識別するための情報である。
Main(主要)DSFGに準拠しNon-Freeのパッケージに依存しない公式パッケージ
Contlib(寄与)DSFGに完全準拠していれうが、Non-Freeに分類されるパッケージに依存するパッケージ
Non-Free(非DFSG)DFSGに準拠していないなどの理由により、利用や再配布に制限があるパッケージ
SectionのSubSectionとして、以下が設定されているものがある
admin管理者向けパッケージ
base基本パッケージ
commコミュニケーションパッケージ
debian-installerデビアンインストーラ関連パッケージ
devel開発者向けパッケージ
docドキュメントパッケージ
editorsテキスト編集関連パッケージ
electronics電子工学/電子回路関連パッケージ
embedded組み込みシステム関連パッケージ
gamesゲーム関連パッケージ
gnome総合デスクトップ環境「GNOME」関連パッケージ
graphicsグラフィック関連パッケージ
hamradioアマチュア無線関連パッケージ
interpretersインタプリタ言語関連パッケージ
kde総合デスクトップ環境「KDE」関連パッケージ
libdevelライブラリ開発関連パッケージ
libsプログラム実行ライブライブパッケージ
mail電子メール関連パッケージ
math数学/数値演算関連パッケージ
miscその他ユーティリティパッケージ
netネットワーク関連パッケージ
newsネットニュース関連パッケージ
oldlibs古いプログラムで使用していたライブラリパッケージ
otherosfs他OSの情報を扱うためのパッケージ
perlスクリプト型言語「Perl」関連パッケージ
pythonスクリプト型言語「Python」関連パッケージ
science科学関連パッケージ
shellsシェル関連パッケージ
sound音声/音楽関連パッケージ
texTex関連パッケージ
textテキスト関連パッケージ
utilユーティリティプログラム関連パッケージ
virtual仮想パッケージ
webWeb関連パッケージ
x11X関連パッケージ
Subsection詳細ページ:https://www.debian.org/distrib/packages
Maintainer
(メンテナ)
保守担当者の名前とメールアカウント
Architecture
(アーキテクチャ)
対応するハードウェアアーキテクチャ
Description(概要)パッケージの概要