aptの使い方

aptコマンド

何かをインストールしたり、アップデートやアップグレードをしたり、、、など、いろいろな場面で使う機会の多いaptについて、aptマニュアル(man apt)とヘルプ(apt -h)を調べ、実例を追加してまとめてみました。

書式などは、マニュアルページの表記に準ずるように記載しています。

マニュアルのセクション番号・バージョンなど
  • コマンド名:apt
  • セクション番号:8(システム管理コマンド)
  • バージョン:2.8.3(amd64)(12 March 2024)
目次

aptの書式

aptは、パッケージ管理システム用の高レベルのコマンドラインインターフェイスです。インターフェイス(interface)は、「境界」や「接点」という意味で、「コマンドライン同士のシステムをつなぐ」と解釈できます。

マニュアルには以下の書式が書かれています。

apt  [-h]  [-o=config_string]  [-c=config_file]  [-t=target_release]  [-a=architecture]  { list  pkg  |  search  regex  |  show  pkg  |  update  |  install pkg   [ {=pkg_version_number  |  /target_release}]…  |  remove pkg  |  upgrade  |  full-upgrade  |  edit-sources  |  { -v  |  --version}  |  {-h  |  --help}}

※aptマニュアルページによる表記(マニュアルルールに則り、太字などの文字体裁を補正して表示しました)

この書式は、並列で複数のコマンドやオプションが同時に指定されているため煩雑に見えますが、マニュアル表記のルールのとおりに読めば難しくありません。(マニュアル表記の統一ルールを見る

上の書式の各コマンドやオプション名をクリックすると、各項目の説明欄に移動するようにリンクを設けています。使い方や実行例などは、コマンドやオプションなどを直接クリックして各項目欄でご確認ください。

補足の書式

aptマニュアル(man apt)に記載されているコマンドやオプションのうち、上記の書式に含まれていないサブコマンドとオプションがあったので追加で記載しました。クリックすると説明項目へ移動します。

apt  [オプション]  { reinstall  pkg | purge | autoremove | satisfy | showsrc | depends | rdepends | policy | source | build-dep | download | changelog | clean | distclean | autoclean | autopurge}

※補足追加したサブコマンドのみを記載した書式(筆者作成)

autopurgeコマンドは、aptマニュアルには記載されていないコマンドですが、aptでも使用できそうなので、追加で記載しています。

簡易的な書式

aptヘルプページには、書式について簡潔に書かれています。

apt [オプション] [コマンド]

便利な早見表??????

  • update:新しいパッケージリストを取得する
  • upgrade:インストール済みのパッケージのアップグレードをインストールする
    • full-upgrade:パッケージを削除、インストール、更新してシステムをアップグレード
  • install pkg:パッケージをインストールする
    • reinstall pkg:インストール済みパッケージの再インストール
    • download:バイナリパッケージをカレントディレクトリにダウンロード
  • remove pkg:パッケージを削除する
    • autoremove:自動的にインストールや削除を行う
  • purge pkg:パッケージと設定ファイルを削除する
    • autopurge:不要になった自動インストールパッケージと、設定ファイルを削除する
  • clean:バッケージファイルのローカルリポジトリをクリアする
    • autoclean:取得したパッケージファイルをローカルリポジトリから削除
    • distclean:Release、Release.gpg、InReleaseを除く/ver/liv/apt/lists以下のすべてのファイルを削除
  • listpkg:パッケージの一覧を表示
    • show pkg:パッケージの詳細情報を表示する
    • search regex:利用可能なパッケージを検索し、一致した結果を表示
    • policy:ポリシー設定情報を表示
  • depends:パッケージの依存情報を表示する
    • rdepends:パッケージの逆依存情報を表示する
  • source:ソースパッケージを取得
    • build-dep:ソースパッケージのインストールや削除を指示する
    • showsrc:指定したパッケージ名に一致するソースパッケージを全て表示
  • changelog:パッケージの変更履歴をダウンロードして表示:
  • edit-sources:任意のテキストエディタでファイルを編集(要確認)
  • satisfy:Build-Dependsで使用される依存関係文字列を満たす
  • 新しいパッケージリストを取得する:update
  • インストール済みのパッケージのアップグレードをインストールする:upgrade
  • パッケージを削除、インストール、更新してシステムをアップグレードfull-upgrade
  • パッケージをインストールする:install pkg [ {=pkg_version_number | /target_release}]…
  • インストール済みパッケージの再インストールreinstall pkg
  • バイナリパッケージをカレントディレクトリにダウンロードdownload
  • パッケージを削除する:remove pkg
  • パッケージと設定ファイルを削除する:purge pkg
  • 自動的にインストールや削除を行う:autoremove
  • 不要になった自動インストールパッケージと、設定ファイルを削除する:autopurge
  • バッケージファイルのローカルリポジトリをクリアする:clean
  • 取得したパッケージファイルをローカルリポジトリから削除:autoclean
  • Release、Release.gpg、InReleaseを除く/ver/liv/apt/lists以下のすべてのファイルを削除:distclean
  • ソースパッケージを取得:source
  • ソースパッケージのインストールや削除を指示する:build-dep
  • パッケージの変更履歴をダウンロードして表示:changelog
  • パッケージの一覧を表示:list pkg
  • 利用可能なパッケージを検索し、一致した結果を表示:search regex
  • パッケージの詳細情報を表示する:show pkg
  • 指定したパッケージ名に一致するソースパッケージを全て表示:showsrc
  • パッケージの依存情報を表示する:depends
  • パッケージの逆依存情報を表示する:rdepends
  • ポリシー設定情報を表示:policy
  • 任意のテキストエディタでファイルを編集(要確認):edit-sources
  • Build-Dependsで使用される依存関係文字列を満たす:satisfy

て   は

「 」 

DESCRIPTION(説明)

aptは、「パッケージに関する情報を問い合わせるコマンド」を提供するコマンドラインパッケージマネージャーです。

エンドユーザー向けインターフェイスとして設計されていて、「コマンドライン同士のシステムをインタラクティブ(対話型)な方法でつないで使用する」ことに適したオプションがいくつか有効になっています。

以下はaptの(サブ)コマンドです。

update(apt-get(8))

updateは、「新しいパッケージリストを取得する」コマンドです。(apt-get update参照)

updateを実行すると、

  • 設定されたすべての取得元からパッケージ情報をダウンロードします。

メモ:

  • 利用可能パッケージのリストを更新します。
  • パッケージのアップグレードや検索、情報を表示するなどのとき、このデータは他のコマンドから操作されます。
  • upgradeinstall前に必ず実行しなければならないコマンドです。
  • 管理者権限sudo付けて実行します。【実行例1

使用できるオプション:(各オプションの説明は、ください)

  • 進行状況の表示を省略する: -q実行例2
  • 使用する構成ファイルを指定する:-c
  • ファイルの代わりにURIsを取得する:--print-uris
  • 古いファィルを確実に消去する(デフォルト):--list-cleanup
    • オフにする(注意!!):--no-list-cleanup
  • スナップショットを制御する:-S
  • リポジトリに含まれるリリース情報が変更されたリポジトリからのダウンロードを続行可能にする:--allow-releaseinfo-change
  • エラーが発生したとき、updateを失敗させる:-e

実行例1:

sudo apt update

管理者権限sudoが必要です。パスワードを求められたらパスワードを入力します。

パスワードを入力するとアップデートが開始されます。

アップデート実行中は上のような進捗情報が表示されます。この進捗情報は-qオプションで省略することが可能です。

アップデートが終了すると、上のような結果が出力されます。アップグレードがあれば続けてupgradeを実行し、アップグレード前にパッケージを確認したい場合は、apt list --upgradeableを実行します。

実行例2:-q :アップデート中の進捗状況を表示しない例

sudo apt update -q

管理者権限sudoが必要です。パスワードを求められたらパスワードを入力します。

アップデート実行中の進捗情報が省略されます。

アップデート終了後の結果の表示は、-qオプションを付けない場合と多少出力が異なります。アップグレードがあれば続けてupgradeを実行し、アップグレード前にパッケージを確認したい場合は、apt list --upgradeableを実行します。

upgrade(apt-get(8))

upgradeは、「現在インストール済みのパッケージすべての利用可能なアップグレードをインストールする」コマンドです。(apt-get upgrade参照)

upgradeを実行すると、

  • パッケージのインストールや更新をして、システムをアップグレードします。(アップグレードは、sources.list(5)で設定されている取得元からインストールされます)
  • (依存関係を満たすために必要な場合は)新しいパッケージがインストールされます。(既存のパッケージは削除されません。そのまま残ります)
  • パッケージのアップグレードに「インストール済パッケージの削除」が必要な場合、そのパッケージのアップグレードは行われません

メモ:

  • pkg(パッケージ)を引数として指定した場合、upgradeの実行前にpkgがインストールされます。
  • 特定のパッケージだけをアップグレードする場合にはupgradeコマンドではなく、install --only-upgradeを実行します。
  • upgradeを実行する前には必ずアップデート(update)を実行しなければなりません実行例update
  • 管理者権限sudo付けて実行します。【実行例1

使用できるオプション:(各オプションの説明は、apt-getupgradeオプションを参照ください)

  • 進行状況の表示を省略し、ログに適した出力を生成する:-q
  • アップグレード時に確認される[Y/n]メッセージを先に[yes]と答えておく:-y実行例2
    • 全てのプロンプトに対して[いいえ]と答える:--assume-no
  • アップグレード時に、パッケージの完全なバージョンを表示する:-V実行例3
  • アップグレードする全パッケージリストを表示しない:--no-show-upgraded
  • 新しいパッケージのインストールを許可する:--with-new-pkgs
  • ダウングレード実行中、プロンプトを表示せずに続行する:--allow-downgrades
  • 保留中のパッケージの変更をプロンプトを表示せずに強制的に続行する:--allow-change-held-packages
  • 簡単な操作のみ実行する:--trivial-only
  • ターミナルウィンドウにユーザープレンドリーな進行状況情報を表示する:--show-progress
  • パッケージに設定された保留を無視する(注意):--ignore-hold

実行例1:updateを実行してから、以下を実行します。

sudo apt upgrade

実行すると、アップグレードできるパッケージが表示されます。

「続行しますか?[Y/n]」で[y]キーを押すと、アップグレードが開始されます。[Y/n]の入力を省略したい場合は、-yオプションを使います【実行例2】。「以下のパッケージ…必要とされていません」とメッセージが出た場合は、sudo apt autoremoveで削除することができます。

実行例2:実行途中の[Y/n]の入力を省略する例

sudo apt upgrade -y

このオプションを使うと、「アップグレードするパッケージを確認しない」状態でアップグレードが実行されます。

実行例3:アップグレードするパッケージのバージョンを表示する例

sudo apt upgrade -V

「V」は大文字です。

アップグレード前の「前バージョン」から、アップグレードすると「後バージョン」になりますという詳細が表示されます。

full-upgrade(apt-get(8))

※aptマニュアルにfull-upgrade(apt-get(8))]と記載されていますが、apt-getマニュアルにfull-upgradeの説明はありませんでした。

full-upgradeは、「upgrade実行時、システム全体をアップグレードするために必要なら、現在インストール済みのパッケージを削除する」コマンドです。

full-upgradeを実行すると、

  • パッケージを削除、インストール、更新してシステムをアップグレードします。upgradeに削除が追加されたイメージ)
  • システム全体をアップグレードするために必要な場合、インストール済みのパッケージを削除してシステム全体をアップグレードします。

メモ:

  • pkg(パッケージ)が引数として指定されると、upgradeの実行前にpkgがインストールされます。
  • full-upgradeを実行する前には必ずアップデート(update)を実行しなければなりません実行例update
  • 管理者権限sudo付けて実行します。
  • 実行例は省略します。

install(apt-get(8))

install  pkg [ {=pkg_version_number | /target_release}]…

installは、「指定されたパッケージをインストールする」コマンドです。(apt-get install参照)

installを実行すると、

  • 指定したパッケージがインストールされます。
  • オプションを指定するとインストールするパッケージを制御することができます。

メモ:

  • pkg(パッケージ名)は必ず指定します。(例:sudo apt install pkg)【実行例1
  • pkg(パッケージ名)を複数指定すると、同時にインストールを行うことができます。(例:sudo apt install pkgA pkgB)【実行例2
  • 拡張子が.debのパッケージをインストールするときも使用可能です。【実行例3
  • pkgの前後に以下の記号をつけるとインストールや削除などをします。【apt-getのinatallメモ参照】
    • +pkgは、パッケージをインストールします。
    • pkgは、パッケージの削除を上書きすることができます。
    • pkg=pkg_version_number(パッケージのバージョン番号)は、選択したバージョンのパッケージをインストールします。
    • pkg名に「/ スラッシュ」やコード名、スイート名を続けると、特定のリリースのバージョン(target release)をインストールします。
  • installを実行する前には必ずアップデート(update)を実行しなければなりません実行例update
  • 管理者権限sudo付けて実行します。

使用できるオプション:(各オプションの説明は、apt-getinstallオプションを参照ください)

  • インストール時に聞かれる[Y/n]を先に[Yes]と答えておく:-y
    • 全てのプロンプトに対して[いいえ]と答える:--assume-no
  • 削除するパッケージが有る場合、プロンプトを表示せずに即中止する:--no-remove
  • 進行状況の出力(表示)を省略する:-q
  • 進捗情報を表示する:--show-progress
  • インストール時に、パッケージの完全なバージョンを表示する:-V
  • 新しくインストールされた全てのパッケージを[自動的にインストール]としてマークする:--mark-auto
  • 不足しているパッケージを無視する:-m
  • パッケージ認証ができなくても無視し、プロンプトを表示しないようにする(注意):--allow-unauthenticated
  • 指定されたコマンドを実行する前にupdateを実行する:-U
  • インストール済みの最新バージョンのパッケージを再インストールする:--reinstall実行例4】(reinstallコマンドと同じ)
  • パッケージのアップグレードを行わずにインストールする:--no-upgrade
  • 特定のパッケージだけをアップグレードする:--only-upgrade実行例5
  • 「推奨パッケージ(Recommends)」をインストールしない:--no-install-recommends
  • 「提案パッケージ(Suggests)」を併せてインストールする:--install-suggests
  • パッケージのダウンロードだけを行う:-d
    • パッケージのダウンロードを無効にしてインストールする:--no-download
  • 未使用の依存パッケージを削除する:--auto-remove実行例6】(autoremoveコマンドと同じ)
  • 壊れた依存関係があるシステムの修正を試みる:-f
  • ファィルを取得する代わりにURIsを表示する:--print-uris
  • シュミレーションを実行する:-s
  • 指定したファイルをメタデータのソースとして追加する:--with-source
  • 任意の構成オプションを設定する:-o
  • 更新コマンドが設定されたソースから不可能なデータを取得する(注意):--allow-insecure-repositories
  • ポリシーエンジンへのデフォルトの入力を制御する(注意):-t

実行例1:ウイルスソフトClamAV「パッケージ名:clamav」をインストールする例

sudo apt install clamav

インストールの前には必ずapt updateを実行しなければなりません。パスワードを求められたらパスワードを入力して[Enter]キーを押します。

実行例2:複数のパッケージを同時にインストールする例

sudo apt install  pkgA  pkgB

インストールの前には必ずapt updateを実行しなければなりません。パッケージ名を半角スペースで区切ると複数のパッケージを同時に指定してインストールすることができます。

実行例3:ダウンロードディレクトリにある[ABC.deb]ファイルをインストールする例(ABC.debファイルはダウンロード済みのファイルとして例を挙げるためだけにつけた仮名です

cd ダウンロードカレントディレクトリユーザーネーム@PCネーム : ~/ダウンロード$ 変更してから)

sudo apt install ./ABC.deb

インストールの前には必ず①apt updateを実行し、その後、②カレントディレクトリダウンロードに変更します。実際のインストール方法はこちらを参照ください。【Chromeをインストールする方法】

実行例4:インストール済みのパッケージを再インストールする例

sudo apt install --reinstall  pkg

インストールの前には必ずapt updateを実行します。この記述は、sudo apt reinstall pkgと同じです。

実行例5:特定のパッケージだけをアップグレードする例

sudo apt install --only-upgrade  pkg

インストールの前には必ずapt updateを実行します。すべてのパッケージをアップグレードする場合は、sudo apt upgradeを使います。

実行例6:他のパッケージとの依存関係を満たすためにインストールと削除を自動的に行う例(設定ファイルは削除しない)

sudo apt install --auto-remove

インストールの前には必ずapt updateを実行します。この記述は、sudo apt autoremoveと同じです。

reinstall(apt-get(8))

reinstallは、「インストール済みの最新バージョンのパッケージを再インストールする」コマンドです。(apt-get reinstall参照)

メモ:

  • reinstallは、install --reinstallの別名です。
  • reinstallを実行する前には必ずアップデート(update)を実行しなければなりません実行例update
  • 管理者権限sudo付けて実行します。

実行例:インストール済みのパッケージを再インストールする例

sudo apt reinstall pkg

応用:sudo apt install --reinstall pkgと同じです。

download(apt-get(8))

downloadは、「指定されたバイナリパッケージをカレントディレクトリにダウンロードする」コマンドです。(apt-get download参照)

downloadを実行すると、

  • バイナリパッケージをカレントディレクトリにダウンロードします。

メモ:

  • 実行例は省略します。

remove(apt-get(8))

remove  pkg

removeは、「指定されたpkg(パッケージ)を削除する」コマンドです。(apt-get remove参照)

removeを実行すると、

  • 設定(構成)ファイルを削除せずにパッケージ(pkg)の全データを削除します。
  • 不具合等の事態に備え、ユーザー設定ファイルは残されます(問題が発生した場合、誤って削除したpkgをインストールすると、機能が復元されます)
  • 「パッケージを削除する」以外は、installと同じです。

メモ:

  • pkg(パッケージ名)を指定して実行します。(例:sudo apt remove pkg
  • removeを実行する前には必ずアップデート(update)を実行しなければなりません実行例update
  • 管理者権限sudo付けて実行します。

使用できるオプション:(各オプションの説明は、apt-getremoveオプションを参照ください)

  • 未使用の依存パッケージを自動的に削除する:--auto-remove実行例1】(autoremoveコマンドと同じです)
  • 設定ファイルも含めてパッケージを削除する:--purge実行例2】(purgeコマンドと同じです)
  • 壊れた依存関係が有るシステムの修正を試みる(注意事項あり):-f
  • remove実行前にupdateを実行する:-U
  • 必須項目削除時、プロンプトを表示せずに続行する:--allow-remove-essential
  • ユーザーフレンドリーな進行状況情報を表示する:--show-progress

実行例1:未使用の依存パッケージを削除する例

sudo apt remove --auto-remove

未使用の依存パッケージがないときは、以下のような表示になりました。

sudo apt autoremoveと同じです)その後の実行過程などが不明なため、状況が確認できたら追記します。

実行例2:設定ファイルを含め、パッケージをすべて削除する例

sudo apt remove --purge pkg

sudo apt purge pkgと同じです)

autoremove(apt-get(8))

autoremoveは、「他のパッケージの依存関係を満たすために、自動的にインストールや削除を行う」コマンドです。(apt-get autoremove参照)

autoremoveを実行すると、

  • 自動的にインストールされたが、現時点では必要でないパッケージを削除します。
  • 他のパッケージの依存関係を満たすために必要なパッケージを自動的にインストールします。
  • installコマンドで明示的にインストールしたパッケージの自動削除は行われません。
  • 設定(構成)ファイルは削除されません

メモ:

  • 自動的にインストールされたパッケージが、その後、必要でなくなったときに使うことができます。(依存関係の変更や該当するパッケージが削除されるなど)実行例1
  • 実行前に、別のパッケージとの依存関係を確認することが必要です(インストールなどで増えたアプリがリストに含まれていないかなど)
  • install --auto-removeremove --auto-removeと同じです。
  • autoremoveを実行する前には必ずアップデート(update)を実行しなければなりません実行例update
  • 管理者権限sudo付けて実行します。

使用できるオプション:(オプションの説明は、apt-getautoremoveオプションを参照ください)

実行例1:他のパッケージの依存関係を満たすために自動インストールと削除を行う例

sudo apt autoremove

実行すると、以下のように表示されるので確認してy]キーを押して削除を実行します。

sudo apt install --auto-removesudo apt remove --auto-removeと同じです。

実行例2:他のパッケージの依存関係を満たすために自動インストールと削除を行い、設定ファイルも削除する例

sudo apt autoremove  --purge

sudo apt autopurgeと同じです。

purge(apt-get(8))

purge  pkg

purgeは、「指定されたpkg(パッケージ)と設定ファイルを削除する」コマンドです。(apt-get purge参照)

purgeを実行すると、

  • すでに削除したpkgの残されたデータを削除することができます。
  • パッケージと、不要なデータやファイルなどを削除する他はremoveと同じです。
  • 設定ファイルもすべて削除されます。

メモ:

  • pkg(パッケージ名)を指定して実行します。【実行例1
  • purge」にはpurgeコマンドと、--purgeオプションがあります。sudo apt purge pkgsudo apt remove --purge pkgは、同じ意味となる別の記述方法です。どちらの記述を実行しても同じ結果となり、パッケージと構成ファイルのすべてが削除されます。
  • purgeを実行する前には必ずアップデート(update)を実行しなければなりません実行例update
  • 管理者権限sudo付けて実行します。

実行例1:設定ファイルも含め、パッケージをすべて削除する例

sudo apt purge pkg

sudo apt remove --purge pkgと同じです。

autopurge(apt-get(8))

autopurgeコマンドは、aptマニュアルには記載されていないコマンドですが、aptでも使用できそうなので、追加で記載しています。

autopurgeは、「不要になった自動インストールパッケージと、設定ファイルを削除する」コマンドです。

autopurgeを実行すると、

  • 他のパッケージとの依存関係を満たすためにインストールや削除を自動で行います。【実行例1
  • 設定(構成)ファイルも削除します

メモ:

  • autopurgeコマンドは、autoremove --purgeと同じです。【実行例1
  • autopurgeを実行する前には必ずアップデート(update)を実行しなければなりません実行例update
  • 管理者権限sudo付けて実行します。

実行例1:現在不要となっている自動インストールパッケージと設定(構成)ファイルを削除する例

sudo apt autopurge

sudo apt autoremove --purgeと同じです。

autoclean(apt-get(8))

autocleanは、「取得したパッケージファイルをローカルリポジトリから削除する」コマンドです。(apt-get autoclean参照)

メモ:

  • 取得したパッケージファイルをローカルリポジトリから削除します。(例:sudo apt autoclean)【表示例
  • autopurgeを実行する前には必ずアップデート(update)を実行しなければなりません実行例update
  • 管理者権限sudo付けて実行します。

表示例:sudo apt autocleanを実行した場合の表示例

clean(apt-get(8))

cleanは、「取得したパッケージファイルのローカルリポジトリをクリアする」コマンドです。(apt-get clean参照)

メモ:

  • 実行例は省略します。

distclean(apt-get(8))

distcleanは、「Release、Release.gpg、InReleaseを除く/ver/liv/apt/lists以下のすべてのファイルを削除する」コマンドです。(apt-get distclean参照)

メモ:

  • 実行例は省略します。

list

list   pkg

listは、「パッケージの一覧を表示する」コマンドです。

listを実行すると、

  • インストールの有無に関わらず、指定したパッケージの一覧を表示します。
    • (インストール済みのパッケージやインストール可能な推奨パッケージなど)
  • オプションを指定すると、簡単な説明を表示したり、特定の条件を満たすパッケージを表示することができます。

メモ:

  • aptコマンドのみ使用できるサブコマンドです。(apt-getコマンドでは使用できません)
  • pkg(パッケージ)を指定すると、「インストール済バッケージ」と「インストール可能な推奨パッケージ」を表示します。(例:apt list  pkg)【実行例1
  • 複数のパッケージを同時に指定することが可能です。(例:apt list  pkgA  pkgB  pkgC)【実行例2
  • 管理者権限sudo不要です

使用できるオプションと実行例:

  • バッケージ名と簡単な説明を表示する: -v実行例3
  • インストール済みのパッケージを表示する: --installed実行例4
  • アップグレード可能なパッケージを表示する: --upgradeable実行例5
  • 利用可能なすべてのバージョンを表示する--all-versions実行例6
  • すべてのバージョンを表示する: -a実行例7】(※apt-get-aオプションとは異なります)

実行例1:インストール済パッケージとインストール可能な推奨パッケージを表示させる例

apt list pkg

pkgを指定しなくても動作しますが大量のリストが表示されて見にくいです。pkgを指定すればそのパッケージ名のリストだけが表示されます。下のような追加メッセージが促される場合は、-aオプションを付けて確認することができます。

インストールされていないパッケージを指定した場合は[インストール済み]と表示されません。

実行例2:pkgを複数指定し、インストール済パッケージとインストール可能な推奨パッケージを表示する例

apt list pkgA pkgB pkgC

半角スペースで区切ってpkgを指定すれば、複数のパッケージ名のリストが表示されます。

[インストール済み]と表示されていないパッケージはインストールされていないパッケージです。パッケージの説明は表示されません。パッケージの説明を併せて表示させたい場合は、-vオプションを使います。

実行例3:-v :パッケージ名「gimp」の説明を表示する例

apt list -v gimp

半角スペースで区切れば、複数のpkgを同時に指定することも可能です。pkgを指定しなくても動作しますが大量のリストが表示されます。

上の表示は、pkgファイアウォール設定アプリ「gufw」を指定した場合の例です。「ufw用グラフィカルユーザーインターフェース」と説明が表示されました。

実行例4:--installed :インストール済みのパッケージを表示する例

apt list --installed (pkg)

半角スペースで区切れば、複数のpkgを同時に指定することも可能です。pkgを指定しなくても動作しますが大量のリストが表示されます。

インストール済みのパッケージがあれば、パッケージ名[インストール済み]と表示されます。インストール済みパッケージが見つからない場合は、何も表示されずに終了します。

実行例5:--upgradeable :アップグレード可能なパッケージを表示する例

apt list --upgradeable

pkgを指定した場合は、指定したパッケージのアップグレード可能なパッケージだけを表示します。sudo apt updateを実行した際、アップグレードできるパッケージがある場合は、このオプションの使用が提案されます。

アップグレード前などにパッケージの確認をすることができます。

実行例6:--all-versions :利用可能なすべてのバージョンを一覧表示する例

apt list --all-versions (pkg)

半角スペースで区切れば、複数のpkgを同時に指定することも可能です。pkgを指定しなくても動作しますが大量のリストが表示されます。-aオプションを使っても同じ結果が出ます(「実行例7」参照)。

「インストール済みのパッケージ」と「その他のバージョンのパッケージ」が表示されます。

実行例7:-a:すべてのバージョンを表示する例

apt list -a (pkg)

apt list pkgを実行した時に他のバージョンがある場合に促されるオプションです。-all-versionsオプションと同じ結果が出ますが、同じオプションとして使用できるのか不明なので別オプションとしてメモしました。

--all-versionsオプションを使っても同じ結果が出ます(「実行例6」参照)。

show(apt-cache(8))

show pkg

showは、「指定されたパッケージに関する詳細情報を表示する」コマンドです。(apt-cache show参照)

showを実行すると、

  • パッケージ名と依存関係、サイズ、取得元、説明などの詳細情報を表示します。

メモ:

  • パッケージを削除する前やインストールする新しいパッケージを検索するときに役立つコマンドです。(例:apt show pkg)【実行例1
  • 管理者権限sudo不要です

使用できるオプション:(各オプションの説明は、apt-cacheshowオプションを参照ください)

  • インストール時に選択される候補バージョンのみ表示する:--no-all-versions
  • 利用可能な全バージョンのレコード全体を表示する:-a実行例2

実行例1:パッケージ名「inkscape」の詳細情報を表示する(inkscapeは、ベクターベースの画像ソフトのパッケージ名です)

apt show inkscape

実行すると、以下のように検索結果が表示されます。

実行例2:-a:「pkgA」で利用可能な全バージョンの詳細情報を表示する(pkgAは、パッケージの仮の名前です)

apt show pkgA  -a

複数のバージョンがある場合、以下のようにすべての検索結果が続けて表示されます。

「pkgA」には、「xxx」バージョンと「zzz」バージョンがあるということがわかります。

search  regex

searchは、「利用可能なパッケージを検索し、一致した結果を表示する」コマンドです。(apt-cache search参照)

searchを実行すると、

  • 利用可能なパッケージと説明に対して、全文検索を行います。
  • 検索結果は、仮想パッケージを含むパッケージ名と簡単な説明文が表示されます。

メモ:

  • 書式にある「regex」は正規表現のことです。「regex」は必ず指定します。【実行例1
    • 日本語検索や(例:apt search 画像処理)【実行例1
    • パッケージ名の検索(例:apt search pkg)【実行例2】も可能です。
  • 特定の機能を持つパッケージを探したい場合に使います。【実行例1
  • 特定のファイルを含むパッケージを探したい場合apt-file(1)を使うと良いようです。apt-fileコマンドは筆者の環境(Ubuntu24.04)ではインストールしていないので使えないため、説明は省略します。sudo apt install apt-fileでインストールすると使えるようになるようです)
  • 管理者権限sudo不要です

使用できるオプション:(各オプションの説明は、apt-cachesearchオプションを参照ください)

  • 「パッケージ」と「提供されたパッケージ名」のみ検索(全文検索なし)する:-n実行例3
  • 検索結果をshowコマンドと同じような情報を表示する:-f実行例4

実行例1:「画像処理」の機能を持つパッケージを検索する例(日本語検索)

apt search 画像処理

実行すると、以下のように検索結果が表示されます。

「画像処理」にヒットするパッケージがすべて表示されます。その中で「gimp」というパッケージ名の画像処理プログラムがヒットしたところを見本として掲載しました。(インストール済のパッケージは[インストール済み]、インストールしていない場合にはこの記載はありません。インストールする場合には、ここに表示されているパッケージ名でインストールします。)【install参照】

実行例2:ファイアウォール設定アプリ「gufw」で検索する例(英文検索)

apt search gufw

実行すると、以下のように検索結果が表示されます。

「gufw」パッケージが1つだけヒットしました(インストール済みパッケージの場合は、上記のように[インストール済み]と表示されます。gufwパッケージをインストールする方法は、こちらの記事を参照してください。(ファイアウォールを設定する

実行例3:-n:ファイアウォール設定アプリ「gufw」を、パッケージと提供されたパッケージ名だけで検索する例

apt search -n gufw

実行すると、以下のように検索結果が表示されます。

検索結果が少なく日本語変換されているパッケージ「gufw」を例に挙げましたが、大抵の場合は、結果が複数で英語表記で表示されます。

実行例4:-f:ファイアウォール設定アプリ「gufw」で検索し、結果は詳細情報で表示する例

apt search -f gufw

実行すると、以下のように検索結果が表示されます。

検索結果が1つだけのパッケージ「gufw」を例に挙げましたが、大抵の場合は、結果が複数で英語表記で詳細表示されます。

policy(apt-cache(8))

policyは、「プリファレンスファイル関係の問題について、デバックを支援する」コマンドです。(apt-cache policy参照)

policyを実行すると、

  • インストールされているバージョンや候補バージョン、入手先などのポリシー設定情報を表示します。

メモ:

  • パッケージ名(pkg)を指定した場合、優先順の詳細情報を表示します。【実行例
  • 管理者権限sudo不要です

実行例:

apt policy pkg

パッケージ名(pkg)を指定すると以下のように表示されます。

depends(apt-cache(8))

depends  pkg

dependsは、「パッケージの依存情報を表示する」コマンドです。(apt-cache depends参照)

dependsを実行すると、

  • パッケージが持つ依存関係と、その依存関係を満たす他のパッケージの一覧を表示します。【実行例1
  • (参考)dependsと逆の「非依存(逆依存)情報」を表示するコマンドはrdependsです。

メモ:

  • pkg(パッケージ名)を指定して実行します。【実行例1
  • 管理者権限sudo不要です

dependsで使用できるオプション:(各オプションの説明は、apt-cachedependsのオプションを参照ください)

  • 重要な依存関係(必須パッケージ)のみ表示する:-i実行例2
  • インストール済みのパッケージだけを表示する:--installed
  • 指定した全パッケージを再帰的に一度に表示する:--recurse
  • 暗黙的に依存関係とみなされるパッケージを表示する:--implicit
  • 必須パッケージを表示しない:--no-depends実行例3
  • 推奨パッケージを表示しない:--no-recommends実行例4
  • 提案パッケージを表示しない:--no-suggests
  • 競合パッケージを表示しない:--no-conflicts
  • 破壊パッケージを表示しない:--no-breaks
  • 置換パッケージを表示しない:--no-replaces
  • 提案(されている)パッケージを表示しない:--no-enhances
  • 事前インストールや設定が必要な必須パッケージを表示しない:--no-pre-depends

実行例1:パッケージの依存関係を調べる例

apt depends pkg

pkgはパッケージ名を指定して実行します。sudoは不要です。

パッケージの依存関係の情報と、対応するバージョンが表示されます。(バージョンは全パッケージが表示されるわけではありません)

実行例2:-iパッケージの重要な依存関係(必須パッケージ)のみ表示する例

apt depends pkg  -i

実行すると以下のように表示されます。

パッケージの必須依存関係のみ表示されます。対応するバージョンがあれば併せて表示されます。(バージョンは全パッケージが表示されるわけではありません)

実行例3:--no-depends必須パッケージを表示しない例

apt depends pkg  --no-depends

実行すると以下のように表示されます。

パッケージの「依存(必須)」パッケージを除外し、その他のパッケージのみ表示されます。

実行例4:--no-recommends推奨パッケージを表示しない例

apt depends pkg  --no-recommends

実行すると以下のように表示されます。

パッケージの「推奨」パッケージを除外し、その他のパッケージのみ表示されます。

rdepends(apt-cache(8))

rdependsは、「パッケージが持つ非依存(逆依存)関係をリスト表示する」コマンドです。(apt-cache rdepends参照)

rdependsを実行すると、

  • パッケージの非依存(逆依存)情報を表示します。【実行例1
  • (参考)rdependsと逆の「依存情報」を表示するコマンドはdependsです。

メモ:

  • pkg(パッケージ名)を指定して実行します。【実行例1
  • 管理者権限sudo不要です

rdependsで使用できるオプション:(各オプションの説明は、apt-cacherdependsのオプションを参照ください)

  • 重要な非依存(逆依存)関係(必須パッケージ)のみ表示する:-i実行例2
  • インストール済みのパッケージだけを表示する:--installed
  • 指定した全パッケージを再帰的に一度に表示する:--recurse
  • 暗黙的に依存関係とみなされるパッケージを表示する:--implicit
  • 必須パッケージを表示しない:--no-depends実行例3
  • 推奨パッケージを表示しない:--no-recommends実行例4
  • 提案パッケージを表示しない:--no-suggests
  • 競合パッケージを表示しない:--no-conflicts
  • 破壊パッケージを表示しない:--no-breaks
  • 置換パッケージを表示しない:--no-replaces
  • 提案(されている)パッケージを表示しない:--no-enhances
  • 事前インストールや設定が必要な必須パッケージを表示しない:--no-pre-depends

実行例1:パッケージの逆依存関係を調べる例

apt rdepends pkg

pkgはパッケージ名を指定して実行します。sudoは不要です。

パッケージの逆依存依存関係の情報と、対応するバージョンが表示されます。(バージョンは全パッケージが表示されるわけではありません)

実行例2:-iパッケージの重要な逆依存関係(必須パッケージ)のみ表示する例

apt rdepends pkg  -i

実行すると以下のように表示されます。

パッケージの必須依存関係(逆依存)のみ表示されます。対応するバージョンがあれば併せて表示されます。(バージョンは全パッケージが表示されるわけではありません)

実行例3:--no-depends必須パッケージを表示しない例

apt rdepends pkg  --no-depends

実行すると以下のように表示されます。

パッケージの「逆依存(必須)」パッケージを除外し、その他のパッケージのみ表示されます。

実行例4:--no-recommends推奨パッケージを表示しない例

apt rdepends pkg  --no-recommends

実行すると以下のように表示されます。

パッケージの「推奨」パッケージを除外し、その他のパッケージのみ表示されます。

source(apt-get(8))

sourceは、「ソースパッケージを取得する」コマンドです。(apt-get source参照)

sourceを実行すると、

  • 利用可能なバージョンのソースパッケージを現在のディレクトリにダウンロードします。
  • 場合により、バイナリパッケージも同時にダウンロードされることがあります。

メモ:

  • ソースパッケージを有効化しないと使用できないコマンドです。【失敗例(「ソースパッケージの有効化」は、ダウンロードの際のメタデータ情報などが増加するため通常は不要です。デフォルトではOFFになっています)

使用できるオプション:(各オプションの説明は、apt-getsourceコマンドのオプションを参照ください)

  • ソースパッケージをコンパイルする:-b
  • ソースパッケージだけをダウンロードする:--only-source
  • ソースアーカイブのdiff、dsc、tarファイルのみダウンロード:--diff-only
  • ファイルを取得せずにURLsを表示する:--print-uris

失敗例:ソースパッケージを有効化していないときにsourceコマンドを実行した例

apt source pkg

pkg」はパッケージ名です。実行すると以下のようなエラーが出ます。

sources.listに「deb-src」のURLをいくつか追加する必要があります、とエラーメッセージが出ます。(ソースパッケージを有効化する方法の説明は省略します)

build-dep(apt-get(8))

build-depは、「指定されたソースパッケージのインストールや削除を指示する」コマンドです。(apt-get build-dep参照)

build-depを実行すると、

  • パッケージの依存関係を満たすために、インストールや削除を行います。

メモ:

  • ソースレコードを有効化しないと使用できないコマンドです。【失敗例(「ソースパッケージの有効化」は、ダウンロードの際のメタデータ情報などが増加するため通常は不要です。デフォルトではOFFになっています)

使用できるオプション:(各オプションの説明は、apt-getbuild-depコマンドのオプションを参照ください)

  • ソースパッケージ名のみ引数として受け入れる:--only-source
  • アーキテクチャに依存するビルド依存関係のみ処理:--arch-only
  • アーキテクチャに依存しないビルド依存関係のみを処理:--indep-only
  • apt source -bによってビルド関係がどのように満たされるのかを制御する:-P
  • apt source -bによってpkgがビルドされるアーキテクチャと、ビルド間の依存関係を制御する:-a

失敗例:ソースパッケージを有効化していないときにbuild-depコマンドを実行した例

sudo apt build-dep pkg

pkg」はパッケージ名です。パスワードを入力して実行すると以下のようなエラーが出ます。

sources.listに「deb-src」のURLをいくつか追加する必要があります、とエラーメッセージが出ます。(ソースパッケージを有効化する方法の説明は省略します)

showsrc(apt-cache(8))

showsrcは、「指定したパッケージ名に一致するソースパッケージをすべて表示する」コマンドです。(apt-cache showsrc参照)

showsrcを実行すると、

  • ソースレコードを表示します。

メモ:

  • ソースパッケージを有効化しないと使用できないコマンドです。【失敗例(「ソースパッケージの有効化」は、ダウンロードの際のメタデータ情報などが増加するため通常は不要です。デフォルトではOFFになっています)

失敗例:ソースパッケージを有効化していないときに実行した例

apt showsrc pkg

実行すると、以下のようなエラーが出ます。

E: You must put some 'deb-src' URIs in your sources.list

sources.listに「deb-src」のURLをいくつか追加する必要があります、とエラーメッセージが出ます。(有効化する方法の説明は省略します)

edit-sources

edit-sourcesは、「任意のテキストエディタでsources.list(5)ファイルを編集することができる」コマンドです。

マニュアルページでは「(作業中)」と記載されているコマンドです。(試行していないため、現在使用できるかどうかは不明です。高度な設定だと思われるため、詳細を調べるなどの深追いはしていません)

メモ:

  • テキストエディタでsources.list(5)ファイルを編集することができます。
  • 基本的な健全性チェックが提供されます。
  • 実行例は省略します。

changelog(apt-get(8))

changelogは、「パッケージの変更履歴をダウンロードして表示する」コマンドです。(apt-get changelog参照)

メモ:

  • 実行例は省略します。

satisfy(apt-get(8))

satisfyは、「Build-Dependsで使用される依存関係文字列を満たす」コマンドです。(apt-get satisfy参照)

メモ:

  • 高度な設定が必要なため、説明は省略します。

OPTIONS(オプション)

aptで使用できるオプションのうち、上記「書式」に使われているオプションを記載しました。

aptコマンドで使用できるオプションは多数ありますが、aptマニュアル(man apt)に掲載されていないため、本ページでも省略しています。aptで使用できるオプションは、apt-getapt-cacheと同じなので、各ページで確認してください。

※コマンドラインオプションはすべて設定ファイルで設定変更できます、とありますが高度な設定なので説明は省略します。

-oオプション

-o=config_string

-o --option

-oは、「構成オプションを設定する」オプションです。(apt-get-oオプション参照)

メモ:

  • 任意の構成オプションを設定したいときに使います。
  • config stringには設定文字列を記述します。
  • (aptマニュアルに-oオプションの説明はありません)

-cオプション

-c=config_file

-c --config-file

-cは、「使用する構成ファイルを指定する」オプションです。(apt-get-cオプション参照)

メモ:

  • プログラムはデフォルトの構成ファイルを読み取ったあと、-cオプションで指定した構成ファイルを読み取ります。
  • config fileには、設定ファイルを記述します。
  • (aptマニュアルに-cオプションの説明はありません)

-tオプション

-t=target_release

-t --target-release --default-release

-tは、「ポリシーエンジンへのデフォルトの入力を制御する」オプションです。(apt-get-tオプション参照)

メモ:

  • 指定されたリリース文字列(target release)を使い優先度を制御しますが、設定を上書きするなど注意が必要なので、このオプションを指定する場合はマニュアルでよく確認してから実行してください
  • target_releaseには、対象リリースを記述します。
  • (aptマニュアルに-tオプションの説明はありません)

-aオプション

-a=architecture

-a --host-architecture

-aは、「apt-get source --compileによってpkgがビルドされるアーキテクチャと、ビルド間の依存関係を制御する」オプションです。(apt-get-aオプション参照)

メモ:

  • apt list-aオプションやapt-cache-aオプションとは異なります。
  • architectureには、アーキテクチャを記述します。高度な設定が必要なので、このオプションを指定する場合はマニュアルでよく確認してから実行してください
  • (aptマニュアルにapt-get-aオプションの説明はありません)

-vオプション

-v --version

-vは、「プログラムのバージョンを表示する」オプションです。

端末に

apt -v

と実行すると、バージョンが表示されます。(sudoは不要です)

-hオプション

-h --help

-hは、「簡単な使用方法の概要を表示する」オプションです。

端末に

apt -h

と打ち込むと、バージョンや使用方法が表示されます。(sudoは不要です)

スクリプトの使い方、他のAPTツールとの違い

aptマニュアルページには、apt-getapt-cacheなどとの関連性についての説明が書かれています。

aptの機能や動作についての注意書き

  • apt(8)コマンドラインは、エンドユーザー向けツールとして設計されています。
  • 動作はバージョン間で変更される可能性があります。
  • 後方互換性は損なわないようにされますが、変更することが相互作用に有益と思われる場合には、保証はありません。

apt-getapt-cacheなどとのとの互換性

  • apt(8)のすべての機能は、apt-get(8)やapt-cache(8)など、専用のAPTツールで利用できます。
  • apt(8)は、いくつかのオプションのデフォルト値を変更しますapt.conf(5)のバイナリ範囲を参照)

スクリプトを使う上でのアドバイス

  • スクリプトでは、可能な限り下位互換性を保つように、潜在的に有効になっているいくつかの追加オプションを付けてコマンドを使うことが推奨されます。

まとめ・参考資料

以上で、aptコマンドの使用方法の説明を終わります。さらに詳しい内容を知りたい場合は、以下のコマンドを実行してみてください

aptマニュアル(日本語訳版):man apt
aptマニュアル(原本・英語版):-aオプションを使うことで英語版を表示可能です
(『man -a aptを実行し、 [q]キーで終了 → [Enter]キーで次のマニュアルへ』で英語版マニュアルを表示できます)
aptヘルプ:apt -h

apt-getマニュアル(日本語訳版):man apt-get

aporposマニュアル:man 1 apropos

aptコマンド:https://www.tohoho-web.com/linux/cmd/apt.html

debianパッケージ周りでよく使うコマンドとオプション:https://sonots.livedoor.blog/archives/50115456.html

aptコマンドチートシート:https://qiita.com/SUZUKI_Masaya/items/1fd9489e631c78e5b007

よかったらシェアしてね!
目次