Linux / コマンド / dpkg - ローカルDEBパッケージのインストールとインストール情報の確認

dpkgはDebian系のローカル.debパッケージとインストール済みパッケージのデータベースを扱います。リポジトリから依存関係を探してダウンロードする上位ツールはaptです。

dpkg -iはローカルDEB(Debianパッケージ形式)を処理しますが、依存パッケージをリポジトリから取得しません。状態はdpkg -s、管理対象のファイル一覧はdpkg -Lで調べます。ローカルDEBを依存関係とともに扱う場合は、APTのパッケージ管理によるapt install ./ファイル.debも検討します。

基本的な文法

dpkg [オプション] 動作 [パッケージまたはファイル]

インストールされている実装とオプションは、配布版によって異なる場合があります。man dpkgで現在のシステムの説明を確認してください。

使用例

インストール状況の確認

インストールの有無、バージョンと説明を確認します。

dpkg -s bash

パッケージに属するファイルの確認

インストール済みパッケージが提供するファイル一覧を見ます。

dpkg -L bash

ローカルDEBインストール

example.debは説明用の名前です。信頼できる配布元から入手した、対象ディストリビューションとCPUアーキテクチャに合うファイルに置き換えます。dpkg-deb -I ./example.debでパッケージ情報を確認できます。インストールはシステムを変更し、パッケージのスクリプトも実行し得ます。

sudo dpkg -i ./example.deb

インストール状況とリポジトリ管理の区別

dpkg -sはローカルパッケージデータベースに記録された状態を示します。以下は、bashがインストールされたDebian系システムの例です。

dpkg -s bash

出力形式の一部:

Package: bash
Status: install ok installed
Version: ...

install ok installedはデータベース上でインストールと設定が完了した状態です。プログラムが正常に動くことや、全ファイルが未変更であることの証明ではありません。依存関係で失敗した場合は、一部が展開済み・未設定のままになることもあります。dpkg --auditで状態を調べ、apt-getによる修復の変更予定を確認してから対処します。

主なオプションと形式

オプション・形式 説明
-i ファイル.deb ローカルDEBパッケージをインストールします。
-s パッケージ インストールされたパッケージの状態を表示します。
-L パッケージ 該当パッケージがインストールしたファイルの一覧を表示します。
-S パス パスを所有するパッケージを探します。
-r / -P パッケージ -rはパッケージを削除し、-Pは管理対象の設定ファイルも削除します。

使用する際の注意点

信頼できないDEBファイルはインストールしないでください。パッケージのインストールスクリプトが管理者権限で実行される可能性があります。dpkg -iが依存関係のエラーを出した場合、無理に強制オプションを使わず、パッケージの出所と必要な依存関係を確認してください。-Pはパッケージ管理対象の設定ファイルも削除するため、必要なものはバックアップしてください。ホームディレクトリにある利用者個別の設定を一括削除する指定ではありません。

よくある質問

dpkg -iとapt install ./file.debの違いは何ですか?

dpkgはローカルファイルを直接処理し、リポジトリの依存関係を自動で取得しません。aptは可能な場合、リポジトリから依存関係を解決します。

公式ドキュメント

オプションの正確な動作と実装ごとの違いは、dpkg関連公式ドキュメントで確認できます。