Ubuntuで.debファイルをインストールする方法【dpkg/apt使用】

コマンド

動作確認環境

本記事のコマンドは Ubuntu 24.04 LTS(Docker公式イメージ ubuntu:24.04)で実際に実行し、その出力をそのまま掲載しています。Ubuntu 22.04 LTSでも同様の手順で動作します。

Ubuntuで.debファイルをインストールする方法は、主に2つあります。dpkg -iコマンドを使う方法と、apt install ./ファイル名.debを使う方法です。

結論を先に言うと、Ubuntu 22.04以降では apt install ./パッケージ.deb の使用を推奨します。依存パッケージを自動でインストールしてくれるため、dpkg -iの後に発生しがちなエラーを回避できます。

本記事では、Docker上のUbuntu 24.04で実際にdpkgaptの両方を実行した結果を載せながら、.debファイルのインストール方法を丁寧に解説します。

この記事のポイント

  • apt install ./ファイル名.deb が依存関係を自動解決する推奨の方法(Ubuntu 16.04以降)
  • dpkg -i で依存エラーが出た場合は apt install -f(または apt --fix-broken install)で解決できる
  • インストール後は dpkg -l パッケージ名 で「ii」状態になっているか確認する
  • 削除は dpkg -r(バイナリのみ)または dpkg -P(設定ファイルも含めて完全削除)
  • Ubuntu 24.04 の dpkg バージョンは 1.22.6、apt は 2.8.3(実測)

目次

  1. .debファイルとは
  2. 前提環境
  3. 方法①: dpkg -i でインストールする
  4. 依存関係エラーの対処法(apt install -f)
  5. 方法②: apt install ./ファイル名.deb でインストールする(推奨)
  6. インストールの確認方法(dpkg -l / dpkg -s)
  7. パッケージの削除(dpkg -r / dpkg -P)
  8. dpkg と apt の使い分けまとめ
  9. よくあるエラーと解決策
  10. まとめ

.debファイルとは

.debファイルは、Debian系Linux(UbuntuはDebianベースです)で使われるパッケージフォーマットです。Windowsの.exeインストーラーや、macOSの.dmgに相当するものと考えると分かりやすいです。

Ubuntuでは通常 apt install パッケージ名 でインストールしますが、公式リポジトリに登録されていないソフトウェア(Google Chrome、VS Code、Slackなど)は、公式サイトから.debファイルをダウンロードしてインストールする必要があります。

よくある.debインストールのシナリオ:

  • Google Chrome:google-chrome-stable_current_amd64.deb
  • VS Code:code_1.xx.x_amd64.deb
  • Slack:slack-desktop-x.x.x-amd64.deb
  • Discord:discord-x.x.x.deb

前提環境

  • OS:Ubuntu 24.04 LTS(Docker公式イメージ ubuntu:24.04 で実行)
  • dpkg バージョン:1.22.6(Ubuntu 22.04 では 1.21.1)
  • apt バージョン:2.8.3
  • 検証日:2026-06-13



ubuntu@linuxlab: ~
$ dpkg –version
Debian ‘dpkg’ package management program version 1.22.6 (arm64).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.

$ apt –version
apt 2.8.3 (arm64)

方法①: dpkg -i でインストールする

dpkg -i(install の略)は、.debファイルを直接インストールする基本コマンドです。まず.debファイルを入手してから実行します。

手順1:.debファイルを入手する

通常は公式サイトからwgetcurlでダウンロードします。ここでは練習としてapt-get downloadを使ってhelloパッケージの.debファイルを取得します。




ubuntu@linuxlab: ~
# リポジトリ情報を更新(初回のみ必要)
$ sudo apt update

# apt-get download: インストールせずに .deb ファイルだけを取得する
$ apt-get download hello
Get:1 …/noble/main amd64 hello amd64 2.10-3build1 [25.2 kB]
Fetched 25.2 kB in 1s (44.0 kB/s)

$ ls -lh hello*.deb
-rw-r–r– 1 root root 25K Apr 8 2024 hello_2.10-3build1_amd64.deb

実際の作業ではwget https://example.com/package.debのようにダウンロードするか、ブラウザでダウンロードした.debファイルを~/Downloads/等に保存してから操作します。

手順2:dpkg -i でインストールする

dpkg -i で hello パッケージをインストール(Ubuntu 24.04 実測)
dpkg -i で hello パッケージをインストール(Ubuntu 24.04 実測)

Ubuntu 24.04の環境で dpkg -i hello_2.10-3build1_amd64.deb を実際に実行した結果です。




ubuntu@linuxlab: ~
$ sudo dpkg -i hello_2.10-3build1_amd64.deb
Selecting previously unselected package hello.
(Reading database … 4376 files and directories currently installed.)
Preparing to unpack hello_2.10-3build1_amd64.deb …
Unpacking hello (2.10-3build1) …
Setting up hello (2.10-3build1) …

Setting up hello (2.10-3build1) ... と表示されればインストール成功です。エラーが出ない場合はこれで完了です。

注意: sudo が必要です

dpkg -i はシステムへのインストールを伴うため、sudo(管理者権限)が必要です。sudo dpkg -i ファイル名.deb のように実行してください。

依存関係エラーの対処法(apt install -f)

正直、dpkg -iを使うと依存関係エラーが発生することがよくあります。依存関係(dependency)とは「このパッケージを動かすために必要な他のパッケージ」のことです。

例えばnginxの.debファイルだけをdpkg -iでインストールしようとすると、iproute2nginx-commonが不足しているためエラーになります。実際に Ubuntu 24.04 で確認した出力がこちらです:

依存関係エラーと apt install -f による修正(Ubuntu 24.04 実測)
依存関係エラーと apt install -f による修正(Ubuntu 24.04 実測)



ubuntu@linuxlab: ~
$ sudo dpkg -i nginx_1.24.0-2ubuntu7.11_amd64.deb
Selecting previously unselected package nginx.
Preparing to unpack nginx_1.24.0-2ubuntu7.11_amd64.deb …
Unpacking nginx (1.24.0-2ubuntu7.11) …
dpkg: dependency problems prevent configuration of nginx:
nginx depends on iproute2; however:
Package iproute2 is not installed.
nginx depends on nginx-common (= 1.24.0-2ubuntu7.11); however:
Package nginx-common is not installed.
dpkg: error processing package nginx (–install):
dependency problems – leaving unconfigured

このエラーが出た場合は、apt install -f--fix-brokenの略)を実行することで、不足している依存パッケージを自動的にインストールして修復できます。




ubuntu@linuxlab: ~
$ sudo apt install -f
The following NEW packages will be installed:
iproute2 nginx-common libxtables12 …
Setting up iproute2 (6.1.0-1ubuntu6.3) …
Setting up nginx-common (1.24.0-2ubuntu7.11) …
Setting up nginx (1.24.0-2ubuntu7.11) …

$ nginx -v
nginx version: nginx/1.24.0 (Ubuntu)

apt install -f の後、nginx -vnginx version: nginx/1.24.0 (Ubuntu) と表示されれば修復完了です。

方法②: apt install ./ファイル名.deb でインストールする(推奨)

Ubuntu 16.04以降では apt install ./パッケージ名.deb を使う方法が推奨されています。 この方法は依存関係を自動で解決してくれるため、前述の dpkg -iapt install -f の2ステップが1コマンドで済みます。

注意: パスに「./」を必ず付ける

apt install ./package.deb と書く際、先頭の ./ は必須です。./ がないと apt は「パッケージ名」として解釈し、リポジトリを検索してしまいます。




ubuntu@linuxlab: ~
# ./(カレントディレクトリ)から .deb を指定する
$ sudo apt install ./nginx_1.24.0-2ubuntu7.11_amd64.deb
Reading package lists… Done
Building dependency tree… Done
The following additional packages will be installed:
iproute2 nginx-common libxtables12 …
The following NEW packages will be installed:
iproute2 nginx nginx-common
Setting up iproute2 (6.1.0-1ubuntu6.3) …
Setting up nginx-common (1.24.0-2ubuntu7.11) …
Setting up nginx (1.24.0-2ubuntu7.11) …

$ nginx -v
nginx version: nginx/1.24.0 (Ubuntu)

1コマンドで依存パッケージ(iproute2、nginx-common など)も含めて全てインストールされました。これが dpkg -i との最大の違いです。

絶対パスで指定する場合は次のように書きます:




ubuntu@linuxlab: ~
# Downloads ディレクトリに置いた .deb を絶対パスで指定する例
$ sudo apt install /home/user/Downloads/google-chrome-stable_current_amd64.deb
Reading package lists… Done
Building dependency tree… Done

インストールの確認方法(dpkg -l / dpkg -s)

インストール後に正しく入っているか確認するには dpkg コマンドを使います。

dpkg -l で一覧表示する




ubuntu@linuxlab: ~
$ dpkg -l hello
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
ii hello 2.10-3build1 amd64 example package based on GNU hello

先頭の ii が「インストール済み(インストール希望)かつ正常状態」を意味します。ii になっていれば問題ありません。

dpkg -s で詳細情報を見る




ubuntu@linuxlab: ~
$ dpkg -s hello
Package: hello
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 144
Architecture: amd64
Version: 2.10-3build1

Status: install ok installed と表示されれば正常にインストールされています。

dpkg -L でインストールされたファイルを確認する




ubuntu@linuxlab: ~
$ dpkg -L hello
/.
/usr
/usr/bin
/usr/bin/hello
/usr/share/doc/hello
/usr/share/man/man1/hello.1.gz

パッケージの削除(dpkg -r / dpkg -P)

dpkg -iでインストールしたパッケージを削除するには、dpkg -r(remove)または dpkg -P(purge)を使います。

dpkg -r / -P によるパッケージの削除(Ubuntu 24.04 実測)
dpkg -r / -P によるパッケージの削除(Ubuntu 24.04 実測)



ubuntu@linuxlab: ~
# -r: バイナリファイルを削除(/etc の設定ファイルは残る)
$ sudo dpkg -r hello
(Reading database … 4383 files and directories currently installed.)
Removing hello (2.10-3build1) …

# -P (purge): 設定ファイルも含めて完全削除
$ sudo dpkg -P hello
(Reading database … 4376 files and directories currently installed.)
Removing hello (2.10-3build1) …

apt で削除する場合も同様で、apt remove hello(設定ファイルを残す)または apt purge hello(完全削除)を使えます。

dpkg と apt の使い分けまとめ

dpkg/apt コマンドの使い分け(概念図)
dpkg/apt コマンドの使い分け(概念図)
コマンド 依存関係の自動解決 推奨シーン
apt install ./pkg.deb ✅ 自動解決 通常はこちらを使う(Ubuntu 16.04以降)
dpkg -i pkg.deb ⚠️ なし スクリプト内など apt が使えない場面
apt install -f ✅ 自動解決 dpkg -i 後にエラーが出た場合の修復
dpkg -r パッケージ名 バイナリのみ削除(設定ファイルを残す)
dpkg -P パッケージ名 設定ファイルも含めて完全削除
Ubuntu 22.04 vs 24.04 の dpkg/apt バージョン比較(実測)
Ubuntu 22.04 vs 24.04 の dpkg/apt バージョン比較(実測)

Ubuntu 22.04(dpkg 1.21.1 / apt 2.4.14)と Ubuntu 24.04(dpkg 1.22.6 / apt 2.8.3)で実際にバージョンを計測した結果、基本的なコマンドの使い方や動作は同じでした。VPSでよく使われる Ubuntu 22.04 LTS でも本記事の手順がそのまま使えます。

よくあるエラーと解決策

エラー①: dependency problems — leaving unconfigured




ubuntu@linuxlab: ~
dpkg: dependency problems prevent configuration of nginx:
nginx depends on iproute2; however: Package iproute2 is not installed.
dpkg: error processing package nginx (–install):
dependency problems – leaving unconfigured

原因:依存パッケージが不足しています。
解決策sudo apt install -f を実行する。または最初から sudo apt install ./nginx.deb を使う。

エラー②: dpkg-deb: error: archive has premature member




ubuntu@linuxlab: ~
dpkg-deb: error: archive ‘package.deb’ has premature member

原因:.debファイルが壊れている(ダウンロード途中で中断した等)。
解決策:.debファイルを再ダウンロードする。

エラー③: dpkg: error: requested operation requires superuser privilege

原因sudoなしで実行しました。
解決策sudo dpkg -i パッケージ.deb のように sudo を付けて実行する。

エラー④: dpkg: error processing archive — trying to overwrite




ubuntu@linuxlab: ~
dpkg: error processing archive package.deb (–install):
trying to overwrite ‘/usr/bin/foo’, which is also in package bar

原因:別のパッケージがすでに同じファイルをインストールしています。
解決策sudo dpkg -i --force-overwrite パッケージ.deb で強制上書きするか、競合する既存パッケージを先に削除する。

まとめ

Ubuntuで.debファイルをインストールする方法を実際のコマンド出力とともに解説しました。

  • Ubuntu 16.04以降では sudo apt install ./パッケージ名.deb が推奨。依存関係を自動解決してくれる
  • sudo dpkg -i パッケージ名.deb でも可能だが、依存エラーが出た場合は sudo apt install -f で修復する
  • インストール後は dpkg -l パッケージ名 で「ii」状態を確認する
  • 削除は sudo dpkg -r パッケージ名(バイナリのみ)または sudo dpkg -P パッケージ名(完全削除)
  • Ubuntu 24.04 の dpkg 1.22.6 と Ubuntu 22.04 の dpkg 1.21.1 で、基本的な動作は同じ(実測確認済み)
著者アイコン
著者アイコン

Google ChromeやVS Codeなど、公式サイトで .deb を配布しているソフトをインストールする場面は多いです。apt install ./ さえ覚えておけば依存エラーに悩まされずに済みます。VPSを借りてサーバーを運用する際にも、特定バージョンのパッケージを .deb で入れるケースが出てくるので、この手順を頭に入れておくと便利です。

VPSを借りて本格的にUbuntuサーバーを運用するなら、まずレンタルサーバーを用意する必要があります。初心者にも設定しやすいVPSの選び方は以下の記事を参考にしてください。

Ubuntu VPS 選び方ガイド【初心者向け比較まとめ】

コメント

タイトルとURLをコピーしました