The dpkg command is a core tool for managing .deb packages in Debian-based Linux distributions, including Ubuntu and Linux Mint. While tools like apt and synaptic offer more automation and user-friendliness, dpkg gives you precise, low-level control over package installation, removal, and inspection. Whether you’re a Linux beginner or a system administrator, understanding how to use dpkg can help you debug issues, manually install packages, and manage software outside standard repositories.

dpkgとは何ですか?

dpkgはDebian Packageの略で、.debパッケージをインストール、構成、削除、および検査するために使用されるコマンドラインツールです。aptとは異なり、依存関係を自動的に解決しないため、より直接的ですが、不注意に使用するとエラーが発生しやすくなります。

基本的なdpkgコマンド

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

sudo dpkg -i package-name.deb

このコマンドは.debファイルをインストールします。依存関係が不足している場合は、次を実行します:

sudo apt-get install -f

これにより、不足しているパッケージをダウンロードして壊れた依存関係が修正されます。

パッケージを削除する

構成ファイルを保持しながらパッケージを削除します:

sudo dpkg -r package-name

パッケージとその構成ファイルを削除します:

sudo dpkg -P package-name

インストールされたパッケージの一覧を表示する

dpkg -l

これにより、次の内容を含むタブ形式でインストールされたすべてのパッケージが一覧表示されます:

  • ステータス(例:iiはインストール済み)
  • パッケージ名
  • バージョン
  • アーキテクチャ
  • 説明


このスクリーンショットは、dpkg -lが現在システムにインストールされているパッケージの完全なリストを出力する方法を示しています。このリストは、grepを使用してスクロールまたはフィルタリングできます:

dpkg -l | grep apache

.debファイルを検査する

インストールせずにパッケージメタデータを表示します:

dpkg -I package-name.deb

.debに含まれるファイルの一覧を表示します:

dpkg -c package-name.deb

dpkgに関連する高度なツール

dpkgはさまざまな補助ツールと連携して動作します:

  • dpkg-query:パッケージ情報を照会する
  • dpkg-deb:.debファイルを作成、抽出、または検査する
  • dpkg-divert:ファイルのオーバーライドを管理する
  • dpkg-statoverride:ファイルの権限オーバーライドを設定する

これらは、パッケージング、デバッグ、および低レベルのパッケージ管理に役立ちます。

一般的な落とし穴

  • dpkgは依存関係を解決しません。他のパッケージに依存するパッケージをインストールする場合は、手動で解決するか、その後aptを使用する必要があります。
  • サードパーティのソースからパッケージをインストールする際は、dpkg -iとapt-get install -fを組み合わせることが良い習慣です。
  • 何をしているか分からない限り、dpkgを単独で使用するのは避けてください—誤った使用はパッケージマネージャの状態を壊す可能性があります。

まとめ

dpkgコマンドは、Debianパッケージエコシステムにおいて不可欠なツールです。aptと比較して初心者向けではありませんが、強力で柔軟性があり、特に次のことが必要な場合に役立ちます:

  • ローカルの.debファイルをインストールする
  • パッケージインストールを監査またはトラブルシューティングする
  • 低レベルのパッケージ操作を実行する

dpkgを理解することで、Linux環境を完全に制御できるようになります。