概要
この記事では、APT パッケージマネージャーの使い方について詳しく解説します。
APT パッケージ
APT (Advanced Package Tool) は、パッケージのインストール、アップデート、削除、および管理を簡単に行うためのツールです。 以下では、主要な APT コマンドとその使い方について説明します。
基本の構文
apt [options] command
コマンド一覧
| コマンド | 代替コマンド | 説明 |
|---|---|---|
| apt update | apt-get update | パッケージのリストを更新する |
| apt install | apt-get install | パッケージをインストールする |
| apt reinstall | apt-get install –reinstall | パッケージを再インストールする |
| apt remove | apt-get remove | パッケージを削除する |
| apt autoremove | apt-get autoremove | 未使用のパッケージをすべて自動的に削除する |
| apt upgrade | apt-get upgrade | パッケージを更新する |
| apt full-upgrade | apt-get dist-upgrade | パッケージを削除/インストール/アップグレードしてシステムを更新する |
| apt search | apt-cache search | パッケージの説明を検索する |
| apt show | apt-cache show | パッケージの詳細を表示する |
| apt satisfy | apt-get satisfy | 依存関係の文字列を満たす |
| apt edit-sources | – | ソース情報ファイルを編集する |
| apt list | パッケージ名に基づいてパッケージを一覧表示する | |
| apt-mark | パッケージのインストール、削除の自動化設定を制御する | |
| apt-key (非推奨) | 信頼できる GPG キーの管理を行う | |
| apt-config | APT の設定オプションを表示および設定する | |
| apt-cdrom | CD-ROM ドライブからパッケージを追加する | |
| apt-file | パッケージが提供するファイルを検索する |
apt update コマンド: パッケージのリストを更新する
apt update コマンドは、インストール可能なパッケージリストをレポジトリから取得します。
パッケージリストは日々更新されるため、定期的に実行します。
sudo apt update
出力例:
Hit:1 https://deb.nodesource.com/node_18.x focal InRelease
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Get:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB]
Get:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease [128 kB]
- Hit: レポジトリのメタデータを比較する
- Get: レポジトリからパッケージリストを取得する
- Ign: 致命的でないエラーが発生した
- Err: 致命的なエラーが発生した
apt install コマンド: パッケージをインストールする
apt install コマンドは、指定されたパッケージをレポジトリからダウンロードしてインストールします。依存関係も自動的に解決されます。
sudo apt install [option] <package-name>
例:
sudo apt install python3-dev
依存関係を指定してインストールを行うには、apt satisfy コマンドを使用します。
sudo apt satisfy "<dependency-string>"
例:
sudo apt satisfy "package1" "package2 (>= 1.0)" "package3 | package4"
apt reinstall コマンド: パッケージを再インストールする
apt reinstall コマンドは、既にインストールされているパッケージを再インストールします。
設定ファイルは変更せず、パッケージを最新の状態に保ちます。
sudo apt install --reinstall <package-name>
apt remove コマンド: パッケージを削除する
apt remove コマンドは、指定されたパッケージをシステムから削除します。
設定ファイルは残ります。
sudo apt remove <package-name>
設定ファイルも削除する場合、--purge オプションをつけます。
sudo apt remove --purge <package-name>
apt autoremove コマンド: 未使用のパッケージをすべて自動的に削除する
apt autoremove コマンドは、不要になった依存関係のパッケージを自動的に削除します。
sudo apt autoremove
apt upgrade コマンド: パッケージを更新する
apt upgrade コマンドは、システム上のすべてのインストール済みパッケージを最新バージョンに更新します。
sudo apt upgrade
同様なコマンドとして apt full-upgrade が存在します。
こちらは、インストール済みのパッケージを更新する必要がある場合、一度削除してからインストールを行います。
sudo apt full-upgrade
apt search コマンド: パッケージの説明を検索する
apt search コマンドは、指定されたキーワードに基づいてパッケージの説明を検索します。
apt search <keyword>
$ apt search python3-pip
Sorting... Done
Full Text Search... Done
python3-pip/focal-updates,focal-security 20.0.2-5ubuntu1.11 all
Python package installer
python3-pipdeptree/focal 0.13.2-1build1 amd64
display dependency tree of the installed Python 3 packages
apt show コマンド: パッケージの詳細を表示する
apt show コマンドは、指定されたパッケージの詳細情報を表示します。バージョン、依存関係、提供ファイルなどを確認できます。
apt show <package-name>
$ apt show tree
Package: tree
Version: 1.8.0-1
Priority: optional
Section: universe/utils
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Florian Ernst <florian@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 115 kB
Depends: libc6 (>= 2.4)
Homepage: http://mama.indstate.edu/users/ice/tree/
Task: xubuntu-desktop, lubuntu-desktop, ubuntustudio-desktop, ubuntu-budgie-desktop
Download-Size: 43.0 kB
APT-Manual-Installed: yes
APT-Sources: http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages
Description: displays an indented directory tree, in color
apt edit-sources コマンド: ソース情報ファイルを編集する
apt edit-sources コマンドは、レポジトリリストが記載された APT パッケージマネージャのソース情報ファイルを編集します。
これにより、パッケージの取得元を追加または変更できます。
sudo apt edit-sources
apt list コマンド: パッケージ名に基づいてパッケージを一覧表示する
apt list コマンドは、指定されたパッケージ名に基づいて利用可能なパッケージのリストを表示します。
インストール済み、アップグレード可能なパッケージも表示できます。
sudo apt list <package-name>
オプション一覧
apt-get のオプション
--no-install-recommends- 推奨パッケージを依存関係として考慮しない。
- 設定項目: APT::Install-Recommends
--install-suggests- 推奨パッケージを依存関係として考慮する。
- 設定項目: APT::Install-Suggests
-d, --download-only- パッケージファイルのダウンロードのみ行い、解凍やインストールは行わない。
- 設定項目: APT::Get::Download-Only
-f, --fix-broken- 破損している依存関係を修正する。
- 設定項目: APT::Get::Fix-Broken
-m, --ignore-missing, --fix-missing- 取得または取得後の整合性チェックに失敗したパッケージを保留し、結果を処理する。
- 設定項目: APT::Get::Fix-Missing
--no-download- パッケージのダウンロードを無効にする。
- 設定項目: APT::Get::Download
-q, --quiet- ログ記録に適した出力を生成し、進行状況の表示を省略する。
- 設定項目: quiet
-s, --simulate, --just-print, --dry-run, --recon, --no-act- 現在のシステム状態に基づいて発生するイベントをシミュレートするが、実際にはシステムを変更しない。
- 設定項目: APT::Get::Simulate
-y, --yes, --assume-yes- 自動的に全てのプロンプトに「yes」と答え、非対話的に実行する。
- 設定項目: APT::Get::Assume-Yes
--assume-no- 自動的に全てのプロンプトに「no」と答える。
- 設定項目: APT::Get::Assume-No
--no-show-upgraded- アップグレードされる全てのパッケージのリストを表示しない。
- 設定項目: APT::Get::Show-Upgraded
-V, --verbose-versions- アップグレードおよびインストールされたパッケージのバージョンを表示する。
- 設定項目: APT::Get::Show-Versions
-a, --host-architecture- apt-get source –compile でパッケージがビルドされるアーキテクチャを制御する。
- 設定項目: APT::Get::Host-Architecture
-P, --build-profiles- apt-get source –compile でビルドされるソースパッケージのビルドプロファイルを制御する。
- 設定項目: APT::Build-Profiles
-b, --compile, --build- ソースパッケージをダウンロード後にコンパイルする。
- 設定項目: APT::Get::Compile
--ignore-hold- パッケージに対して設定されたホールドを無視する。
- 設定項目: APT::Ignore-Hold
--with-new-pkgs- アップグレード時に新しいパッケージのインストールを許可する。
- 設定項目: APT::Get::Upgrade-Allow-New
--no-upgrade- パッケージをアップグレードしない。install と共に使用する場合、パッケージが既にインストールされている場合はアップグレードしない。
- 設定項目: APT::Get::Upgrade
--only-upgrade- 新しいパッケージをインストールしない。install と共に使用される場合、既にインストールされているパッケージのみをアップグレードする。
- 設定項目: APT::Get::Only-Upgrade
--allow-downgrades- 危険なオプションであり、ダウングレードを行う際にプロンプトなしで続行する。
- 設定項目: APT::Get::allow-downgrades
--allow-remove-essential- 危険なオプションであり、重要なパッケージを削除する際にプロンプトなしで続行する。
- 設定項目: APT::Get::allow-remove-essential
--allow-change-held-packages- 危険なオプションであり、ホールドされているパッケージを変更する際にプロンプトなしで続行する。
- 設定項目: APT::Get::allow-change-held-packages
--force-yes- 危険なオプションであり、潜在的に有害な操作を行う際にプロンプトなしで続行する。
- 設定項目: APT::Get::force-yes
--print-uris- ファイルを取得する代わりに、その URI を表示する。
- 設定項目: APT::Get::Print-URIs
--purge- 削除する際に設定も削除する。
- 設定項目: APT::Get::Purge
--reinstall- 既にインストールされており、最新バージョンのパッケージを再インストールする。
- 設定項目: APT::Get::ReInstall
--list-cleanup- このオプションはデフォルトで有効になっている。–no-list-cleanup を使用して無効にする。
- 設定項目: APT::Get::List-Cleanup
-S, --snapshot- スナップショットを選択する。
- 設定項目: APT::Snapshot
-t, --target-release, --default-release- ポリシーエンジンのデフォルト入力を制御する。
- 設定項目: APT::Default-Release
--trivial-only- 些細な操作のみを実行する。
- 設定項目: APT::Get::Trivial-Only
--no-remove- パッケージが削除される場合、apt-get は即座にプロンプトなしで中止する。
- 設定項目: APT::Get::Remove
--auto-remove, --autoremove- install または remove コマンドの場合、このオプションは autoremove コマンドのように動作し、使用されていない依存パッケージを削除する。
- 設定項目: APT::Get::AutomaticRemove
--only-source- source および build-dep コマンドにのみ意味を持つ。
- 設定項目: APT::Get::Only-Source
--diff-only, --dsc-only, --tar-only- ソースアーカイブの diff、dsc、または tar ファイルのみをダウンロードする。
- 設定項目: APT::Get::Diff-Only, APT::Get::Dsc-Only, APT::Get::Tar-Only
--arch-only- アーキテクチャ依存のビルド依存関係のみを処理する。
- 設定項目: APT::Get::Arch-Only
--indep-only- アーキテクチャに依存しないビルド依存関係のみを処理する。
- 設定項目: APT::Get::Indep-Only
--allow-unauthenticated- 認証されていないパッケージがあっても無視し、プロンプトしない。
- 設定項目: APT::Get::AllowUnauthenticated
--no-allow-insecure-repositories- 検証不可能なデータを取得するために update コマンドを禁止する。
- 設定項目: Acquire::AllowInsecureRepositories
--allow-releaseinfo-change- リポジトリがリリース情報を変更した場合でも、update コマンドを続行する。
- 設定項目: Acquire::AllowReleaseInfoChange
--show-progress- パッケージのインストール、アップグレード、または削除時にユーザーフレンドリーな進行状況情報をターミナルウィンドウに表示する。
- 設定項目: Dpkg::Progress, Dpkg::Progress-Fancy
--with-source filename- 指定されたファイルをメタデータのソースとして追加する。
-eany, --error-on=any- 一時的なエラーでも発生した場合、update コマンドを失敗させる。
-c, --config-file- 設定ファイルを指定する。
- 設定項目: APT_CONFIG
-o, --option- 任意の設定オプションを設定する。
apt-cache のオプション
-p, --pkg-cache- パッケージキャッシュを保存するファイルを選択する。パッケージキャッシュはすべての操作に使用される主要なキャッシュである。
- 設定項目:
Dir::Cache::pkgcache
-s, --src-cache- ソースキャッシュを保存するファイルを選択する。ソースは
gencachesのみが使用し、リモートソースからのパッケージ情報の解析版を保存する。パッケージキャッシュを構築する際に、ソースキャッシュを使用してすべてのパッケージファイルを再解析することを避ける。 - 設定項目:
Dir::Cache::srcpkgcache
- ソースキャッシュを保存するファイルを選択する。ソースは
-q, --quiet- 静かな出力を生成し、進行状況の表示を省略する。
-q=#で静かさのレベルを設定できる。 - 設定項目:
quiet
- 静かな出力を生成し、進行状況の表示を省略する。
-i, --important- 重要な依存関係のみを表示する。
unmetおよびdependsと共に使用する。DependsおよびPre-Dependsの関係のみを表示する。 - 設定項目:
APT::Cache::Important
- 重要な依存関係のみを表示する。
--no-pre-depends, --no-depends, --no-recommends, --no-suggests, --no-conflicts, --no-breaks, --no-replaces, --no-enhances- デフォルトでは
dependsおよびrdependsはすべての依存関係を表示する。これらのフラグを使用して、指定された依存関係の種類を省略できる。 - 設定項目:
APT::Cache::ShowDependencyType - 例:
APT::Cache::ShowRecommends
- デフォルトでは
--implicit- デフォルトでは
dependsおよびrdependsはメタデータに明示的に記載されている依存関係のみを表示する。このフラグを使用すると、データに基づいて暗黙的に追加された依存関係も表示される。 - 設定項目:
APT::Cache::ShowImplicit
- デフォルトでは
-f, --full- 検索時に完全なパッケージ情報を表示する。
- 設定項目:
APT::Cache::ShowFull
-a, --all-versions- 利用可能なすべてのバージョンの完全な情報を表示する。デフォルトで有効である。無効にするには
--no-all-versionsを使用する。 - 設定項目:
APT::Cache::AllVersions
- 利用可能なすべてのバージョンの完全な情報を表示する。デフォルトで有効である。無効にするには
-g, --generate- パッケージキャッシュの自動再生成を実行する。デフォルトで有効である。無効にするには
--no-generateを使用する。 - 設定項目:
APT::Cache::Generate
- パッケージキャッシュの自動再生成を実行する。デフォルトで有効である。無効にするには
--names-only, -n- パッケージ名と提供されるパッケージ名のみを検索し、長い説明は検索しない。
- 設定項目:
APT::Cache::NamesOnly
--all-namespkgnamesにすべての名前 (仮想パッケージと欠落した依存関係を含む) を表示させる。- 設定項目:
APT::Cache::AllNames
--recursedependsおよびrdependsを再帰的にし、言及されたすべてのパッケージを一度表示する。- 設定項目:
APT::Cache::RecurseDepends
--installed- 出力を現在インストールされているパッケージに限定する。
- 設定項目:
APT::Cache::Installed
--with-source filename- メタデータのソースとして指定されたファイルを追加する。複数のファイルを追加することも可能である。現在サポートされているファイル形式は
.deb,.dsc,.changes,Sources,Packagesファイルおよびソースパッケージディレクトリである。これらのファイルは名前に基づいて一致するが、内容では一致しない。 - 設定項目:
APT::Sources::With
- メタデータのソースとして指定されたファイルを追加する。複数のファイルを追加することも可能である。現在サポートされているファイル形式は
-c, --config-file- 使用する設定ファイルを指定する。プログラムはデフォルトの設定ファイルを読み込み、その後この設定ファイルを読み込む。
-o, --option- 任意の設定オプションを設定する。複数回使用して異なるオプションを設定できる。

コメント