Ubuntuの「Unable to locate package」エラー解決法

トラブル解決

Ubuntu で sudo apt install ○○ を実行したとき、




ubuntu@server: ~
$ sudo apt install curl
E: Unable to locate package curl

というエラーが出て困ったことはありませんか? Linux を使い始めた頃、私も同じエラーに詰まりました。

このエラーの原因は9割以上「apt update を実行していない」ことです。まず sudo apt update を実行してからもう一度試してみてください。それでも解決しない場合は、パッケージ名のタイポや、リポジトリの設定が原因の可能性があります。

本記事では Ubuntu 24.04 LTS / 22.04 LTS のDockerコンテナで実際にエラーを再現し、原因別の解決手順を解説します。

この記事のポイント

  • エラーの原因1位は apt update の実行忘れ(まずこれを試す)
  • apt-cache search パッケージ名 でスペルミスを確認できる
  • Ubuntu 24.04 は sources.list の形式が変わり、DEB822形式になった
  • VPSの最小インストールでは universe リポジトリが無効な場合がある
  • 本記事の手順は ubuntu:24.04 Docker公式イメージで実際に動作確認済み(2026-06-13)

目次

  1. 原因1:apt update を実行していない(最多)
  2. 原因2:パッケージ名のスペルミス
  3. 原因3:universe リポジトリが無効になっている
  4. 原因4:Ubuntu のバージョンにそのパッケージが存在しない
  5. Ubuntu 22.04 vs 24.04:sources.list の違い
  6. まとめ

原因1:apt update を実行していない(最多)

Ubuntu をインストールしたばかりの環境や、しばらく触っていなかった環境では、apt のパッケージリストが古い(または空の)状態になっています。この状態でインストールしようとすると E: Unable to locate package が出ます。

実際にDockerコンテナ(ubuntu:24.04)で確認すると、apt update なしでは curl すら見つかりません。

apt update未実施でcurlをインストールしようとするとUnable to locate packageエラーが出る(Ubuntu 24.04 実測)
apt update未実施でcurlをインストールしようとするとUnable to locate packageエラーが出る(Ubuntu 24.04 実測)

手順1:apt update でパッケージリストを更新する




ubuntu@server: ~
$ sudo apt update
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]

Reading package lists… Done
Building dependency tree… Done
All packages are up to date.

apt update が完了したら、もう一度インストールを試してください。




ubuntu@server: ~
$ sudo apt install curl
Reading package lists… Done
The following NEW packages will be installed:
curl libcurl4t64 …
Setting up curl (8.5.0-2ubuntu10.9) …
Processing triggers for libc-bin (2.39-0ubuntu8.7) …

ubuntu:24.04 コンテナで実測したところ、apt update 後に curl 8.5.0-2ubuntu10.9 のインストールが成功しました(2026-06-13)。

apt update → apt install curl の成功ログ(Ubuntu 24.04 実測)
apt update → apt install curl の成功ログ(Ubuntu 24.04 実測)

よく一緒に使うコマンド

sudo apt update && sudo apt upgrade -y と続けて実行すると、パッケージリストの更新とインストール済みパッケージのアップグレードを一括で行えます。VPSを借りた直後は必ずこれを実行しておくと安心です。

原因2:パッケージ名のスペルミス

apt update をしても「Unable to locate package」が出る場合、次に疑うのはパッケージ名のタイポです。よくある例として nginxngnix と入力してしまうケースがあります。




ubuntu@server: ~
$ sudo apt install ngnix
E: Unable to locate package ngnix

手順2:apt-cache search でパッケージ名を確認する

apt-cache search はインストール前にパッケージの正式名を調べるコマンドです。うろ覚えのパッケージ名や、似た名前のパッケージを探すときに役立ちます。




ubuntu@server: ~
$ apt-cache search nginx
nginx – small, powerful, scalable web/proxy server
nginx-common – small, powerful, scalable web/proxy server (common files)
nginx-doc – small, powerful, scalable web/proxy server (documentation)

ubuntu:24.04 での実測:nginx の候補として 1.24.0-2ubuntu7.11 が見つかりました(2026-06-13)。

apt-cache searchでパッケージを検索し正しい名前でインストールする(Ubuntu 24.04 実測)
apt-cache searchでパッケージを検索し正しい名前でインストールする(Ubuntu 24.04 実測)

また、apt-cache policy パッケージ名 を使うと、インストール候補のバージョンと取得元リポジトリを確認できます。




ubuntu@server: ~
$ apt-cache policy nginx
nginx:
Installed: (none)
Candidate: 1.24.0-2ubuntu7.11
Version table:
1.24.0-2ubuntu7.11 500
500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages

Candidate: の行に版数が表示されればインストール可能です。(none) のままだった場合、そのパッケージはこの環境では見つかっていません。

原因3:universe リポジトリが無効になっている

Ubuntu のパッケージは、管理主体によって以下のリポジトリに分類されています。

リポジトリ 管理主体 含まれるパッケージ例 デフォルト
main Canonical(公式) bash, python3, openssh-server 有効
universe コミュニティ neofetch, httrack, ffmpeg 環境による
restricted Canonical(非フリー) nvidia ドライバ等 有効
multiverse コミュニティ(非フリー) unrar, ttf-mscorefonts 環境による

Docker公式イメージ(ubuntu:24.04)では universe が最初から有効ですが、VPSプロバイダーが提供する最小インストールイメージでは universe が無効になっていることがあります。

手順3:universe リポジトリを有効化する




ubuntu@vps: ~
$ sudo add-apt-repository universe
Repository: ‘deb http://archive.ubuntu.com/ubuntu noble universe’
Press [ENTER] to continue or Ctrl-c to cancel:
(Enterを押して続行)
Reading package lists… Done
$ sudo apt update
Reading package lists… Done
$ sudo apt install neofetch
Setting up neofetch (7.1.0-4) …
universeリポジトリを有効化してneofetchをインストールする手順(概念図)
universeリポジトリを有効化してneofetchをインストールする手順(概念図)

注意

add-apt-repository コマンドは software-properties-common パッケージに含まれています。もし「command not found」と出た場合は、先に sudo apt install software-properties-common を実行してください。

原因4:Ubuntu のバージョンにそのパッケージが存在しない

Ubuntu のバージョンが上がるにつれ、廃止・名称変更されたパッケージがあります。代表的な例を挙げます。

古い名前(22.04以前) Ubuntu 24.04 での正しい名前 備考
python python3 Ubuntu 20.04 以降 python2 は非推奨
python-pip python3-pip pip は python3 版を使用
ifconfig(net-tools) ip(iproute2) net-tools は apt install net-tools で別途導入
netstat(net-tools) ss(iproute2) 同上

たとえば python コマンドが使いたい場合、Ubuntu 24.04 では python3 が正解です。古いチュートリアルをそのままコピーすると詰まるポイントです。

Ubuntu 22.04 vs 24.04:sources.list の違い

Ubuntu 24.04 から、リポジトリ設定ファイルの形式が変わりました。これが原因で「なんか設定が変」と感じるケースがあります。

Ubuntu 22.04と24.04のsources.list形式の違い(実測)
Ubuntu 22.04と24.04のsources.list形式の違い(実測)

実際にDockerコンテナ(ubuntu:22.04・ubuntu:24.04)で確認した結果:

  • Ubuntu 22.04/etc/apt/sources.listdeb http://... jammy main restricted universe multiverse の形式で記述
  • Ubuntu 24.04/etc/apt/sources.list はほぼ空(コメントのみ)。新しい DEB822 形式の /etc/apt/sources.list.d/ubuntu.sources に設定が集約



ubuntu@server: ~ (Ubuntu 24.04)
$ cat /etc/apt/sources.list.d/ubuntu.sources
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

VPS の Ubuntu 24.04 でリポジトリを確認・編集したい場合は、/etc/apt/sources.list ではなく /etc/apt/sources.list.d/ubuntu.sources を参照してください。

メモ

VPSを借りたばかりのころ、sources.list が空っぽで焦りました。Ubuntu 24.04 からは ubuntu.sources ファイルに移動しているので、最初にそこを確認するクセをつけると良いです。

それでも解決しない場合のチェックリスト

ここまでの手順をすべて試しても解決しない場合、以下を順番に確認してください。

  1. sudo apt update は実行しましたか?
    これが最初の確認事項です。エラーなく完了しているか確認してください。
  2. パッケージ名は正しいですか?
    apt-cache search キーワード で検索し、正式名称を確認してください。
  3. Ubuntu のバージョンを確認しましたか?
    lsb_release -a でバージョンを確認してください。古いバージョン(18.04以前)ではサポート終了のリポジトリがあります。
  4. インターネットに接続できていますか?
    ping -c 3 archive.ubuntu.com で疎通確認をしてください。VPSのファイアウォール設定で外向き通信がブロックされている場合があります。
  5. ディスク容量は足りていますか?
    df -h でディスク使用量を確認してください。/var が満杯だと apt のキャッシュ書き込みに失敗します。



ubuntu@server: ~
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble
$ df -h /var
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 4.2G 20G 18% /

まとめ

「Unable to locate package」エラーの原因と解決策をまとめます。

エラー解決の優先順位

  • まず sudo apt update を実行する(原因の9割はこれで解決)
  • apt-cache search キーワード でパッケージ名のスペルを確認する
  • universe / multiverse リポジトリが必要なパッケージは sudo add-apt-repository universe で有効化
  • Ubuntu 24.04 では sources.list.d/ubuntu.sources を確認する
  • 古いバージョンで名前が変わったパッケージ(python → python3 など)に注意

本記事の検証は ubuntu:24.04・ubuntu:22.04 の Docker公式イメージで実際にコマンドを実行して確認しました(2026-06-13)。VPSを借りて本格的にサーバーを運用したい方は、以下の記事もあわせて参考にしてください。

コメント

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