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 | プログラム実行ライブライブパッケージ | |
| 電子メール関連パッケージ | ||
| math | 数学/数値演算関連パッケージ | |
| misc | その他ユーティリティパッケージ | |
| net | ネットワーク関連パッケージ | |
| news | ネットニュース関連パッケージ | |
| oldlibs | 古いプログラムで使用していたライブラリパッケージ | |
| otherosfs | 他OSの情報を扱うためのパッケージ | |
| perl | スクリプト型言語「Perl」関連パッケージ | |
| python | スクリプト型言語「Python」関連パッケージ | |
| science | 科学関連パッケージ | |
| shells | シェル関連パッケージ | |
| sound | 音声/音楽関連パッケージ | |
| tex | Tex関連パッケージ | |
| text | テキスト関連パッケージ | |
| util | ユーティリティプログラム関連パッケージ | |
| virtual | 仮想パッケージ | |
| web | Web関連パッケージ | |
| x11 | X関連パッケージ | |
| Subsection詳細ページ:https://www.debian.org/distrib/packages | ||
| Maintainer (メンテナ) |
保守担当者の名前とメールアカウント | |
| Architecture (アーキテクチャ) |
対応するハードウェアアーキテクチャ | |
| Description(概要) | パッケージの概要 | |