はじめに

こんにちは!今回はapt-cacheコマンドについて解説します。

apt-cacheはパッケージに関する情報を検索・表示するコマンドです。aptの補完的な役割で、パッケージの詳細情報を調べる時に欠かせないコマンドですね。

パッケージの依存関係やバージョン情報を知りたい時に活躍します。

apt-cache コマンドとは

apt-cacheは、APTのパッケージキャッシュを検索・表示するための外部コマンドです。

aptがパッケージのインストール・削除を担当するのに対して、apt-cacheはパッケージ情報の検索に特化しています。バージョン確認、依存関係の確認、パッケージの詳細情報取得などが得意なんです。

基本構文

1
apt-cache [オプション] サブコマンド [パッケージ名]

主なサブコマンドはsearchshowdependsrdependsなどです。

主なオプション

オプション 説明
search パッケージを検索
show パッケージの詳細情報を表示
depends パッケージの依存関係を表示
rdepends パッケージに依存するパッケージを表示
policy バージョンポリシーを表示
stats キャッシュ統計を表示
-n, --names-only パッケージ名のみで検索

使用例

例1: パッケージを検索

1
apt-cache search git

実行結果:

1
2
3
4
git - fast, scalable, distributed revision control system
git-all - fast, scalable, distributed revision control system (all subcommands)
git-core - fast, scalable, distributed revision control system (obsolete)
git-doc - fast, scalable, distributed revision control system (documentation)

「git」を含むパッケージを検索します。説明文も一緒に表示されます。

例2: パッケージ名のみで検索

1
apt-cache search -n python

実行結果:

1
2
3
4
python-dev - header files and a static library for Python (default)
python-doc - documentation for the Python language
python3 - interactive high-level object-oriented language (default python3 binary)
python3-dev - header files and a static library for Python (default)

パッケージ名だけに限定して検索します。結果がフィルタリングされて見やすくなります。

例3: パッケージの詳細情報を表示

1
apt-cache show git

実行結果:

1
2
3
4
5
6
7
8
Package: git
Version: 1:2.25.1-1ubuntu3
Priority: optional
Section: vcs
Installed-Size: 23408
Depends: perl, perl-modules-5.30, liberror-perl
Homepage: https://git-scm.com/
Description: fast, scalable, distributed revision control system

gitパッケージの詳細情報が表示されます。バージョン、依存関係、説明などが一目でわかります。

例4: パッケージの依存関係を表示

1
apt-cache depends git

実行結果:

1
2
3
4
5
6
7
git
  Depends: perl
  Depends: perl-modules-5.30
  Depends: liberror-perl
  Recommends: patch
  Recommends: less
  Suggests: git-daemon-run

gitが依存している他のパッケージが表示されます。Dependsは必須、Recommendsは推奨です。

例5: パッケージに依存するパッケージを表示

1
apt-cache rdepends perl

実行結果:

1
2
3
4
5
6
perl
  Reverse Depends:
    git
    python3
    build-essential
    autoconf

perlに依存する(逆依存)パッケージが表示されます。

例6: バージョンポリシーを表示

1
apt-cache policy python3

実行結果:

1
2
3
4
5
6
7
python3:
  Installed: 3.8.10-0ubuntu1
  Candidate: 3.8.10-0ubuntu1
  Version table:
     *** 3.8.10-0ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
        100 /var/lib/dpkg/status

インストール済みバージョン、更新可能なバージョン、利用可能なリポジトリが表示されます。

例7: キャッシュ統計を表示

1
apt-cache stats

実行結果:

1
2
3
4
5
6
Total package names: 45893 ( 1234 k)
Total package structures: 89234 (2567 k)
Normal packages: 45892
Pure virtual packages: 1
Single virtual packages: 5
Mixed virtual packages: 0

パッケージキャッシュの統計情報が表示されます。

例8: 複数のパッケージを確認

1
apt-cache show git curl

実行結果:

1
2
3
4
5
6
7
Package: curl
Version: 7.68.0-1ubuntu2
(curl の情報)

Package: git
Version: 1:2.25.1-1ubuntu3
(git の情報)

複数のパッケージ情報を一度に表示できます。

Tips・注意点

sudo が不要

apt-cacheは読み込み専用の操作なので、sudoは不要です。一般ユーザーでも実行できます。

1
2
apt-cache search vim  # OK、sudo不要
sudo apt install vim  # install は sudo が必要

apt と apt-cache の使い分け

  • apt install: パッケージをインストール
  • apt-cache search: パッケージを検索して情報を確認

インストール前にapt-cacheで情報を確認する流れが基本です。

grep と組み合わせる

検索結果をさらにフィルタリングできます:

1
apt-cache search editor | grep -i text

実践的な使い方

パッケージのバージョン確認

1
apt-cache policy vim

更新可能かどうか、どのバージョンがあるか確認してからインストールを判断できます。

依存関係の確認

1
apt-cache depends build-essential

何をインストールすると他に何が必要になるか事前に確認できます。

パッケージ検索とリスト化

1
apt-cache search 'python3 library' | awk '{print $1}' > packages.txt

検索結果をファイルに保存して、後で参照できます。

まとめ

apt-cacheコマンドのポイント:

  • パッケージ情報の検索・表示に特化
  • search: パッケージを検索
  • show: 詳細情報を表示
  • depends: 依存関係を確認
  • rdepends: 逆依存関係を確認
  • policy: バージョン情報を表示
  • sudo不要で一般ユーザーでも実行可能
  • よく使う組み合わせ: apt-cache searchapt-cache showsudo apt install

パッケージをインストールする前に、apt-cacheで十分に調べてから実行するのが安全な運用ですよ。