apt の共通コマンド
リポジトリの更新
| 指示 | 説明 |
|---|---|
sudo apt update | パッケージインデックスを更新する |
sudo apt upgrade | インストールされているすべてのパッケージをアップグレードする |
sudo apt full-upgrade | パッケージをアップグレードし、依存関係の変更を自動的に処理する |
sudo apt dist-upgrade | フルアップグレードと同じ |
インストールと削除
| 指示 | 説明 |
|---|---|
sudo apt install package-name | パッケージをインストールする |
sudo apt install package-name=version | 特定のバージョンをインストールする |
sudo apt install ./package.deb | ローカルの .deb ファイルをインストールする |
sudo apt reinstall package-name | パッケージを再インストールする |
sudo apt remove package-name | パッケージを削除します (構成を保持します) |
sudo apt purge package-name | パッケージを削除し、構成ファイルを削除する |
sudo apt autoremove | 不要になった依存関係を削除する |
検索とクエリ
| 指示 | 説明 |
|---|---|
apt search keyword | パッケージを検索する |
apt show package-name | パッケージの詳細を表示 |
apt list --installed | インストールされているパッケージを一覧表示する |
apt list --upgradable | アップグレード可能なパッケージをリストする |
apt depends package-name | 依存関係を表示する |
apt rdepends package-name | 逆の依存関係を表示する |
dpkg -L package-name | パッケージによってインストールされたすべてのファイルをリストする |
dpkg -S /path/to/file | ファイルを所有しているパッケージを調べる |
キャッシュのクリーンアップ
| 指示 | 説明 |
|---|---|
sudo apt clean | ダウンロードしたキャッシュをすべてクリアする |
sudo apt autoclean | 古いキャッシュのみをクリアする |
sudo apt autoremove --purge | 依存関係を削除して構成をパージする |
バージョンの固定
| 指示 | 説明 |
|---|---|
sudo apt-mark hold package-name | パッケージのバージョンを保持する (アップグレードを防ぐ) |
sudo apt-mark unhold package-name | 荷物の保留を解除する |
apt-mark showhold | 保留中のパッケージを表示する |
修理
| 指示 | 説明 |
|---|---|
sudo apt --fix-broken install | 依存関係を修正する |
sudo dpkg --configure -a | 中断されたパッケージを再構成する |
リポジトリ管理
| 指示 | 説明 |
|---|---|
sudo add-apt-repository ppa:xxx/yyy | PPA を追加する |
sudo add-apt-repository --remove ppa:xxx/yyy | PPA を削除する |
cat /etc/apt/sources.list.d/ubuntu.sources | 設定されたソースを表示する |
grep -rh "^deb " /etc/apt/sources.list.d/ | すべての情報源をリストする |
サードパーティのリポジトリへの署名 (apt キーの削除)
APT 3.1 によって apt-key が完全に削除され、グローバル キーリングは信頼されなくなりました。サードパーティのリポジトリを追加する場合は、キーを /etc/apt/keyrings/ に個別に保存し、ソース エントリの Signed-By で明示的にそれを指定します。
# 1. Download the key and convert it to a binary keyring (de-armored)
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://example.com/repo.gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/example.gpg
sudo chmod 0644 /etc/apt/keyrings/example.gpgdeb822 形式 (.sources ファイル) を優先し、キーを Signed-By にバインドします。
# /etc/apt/sources.list.d/example.sources
Types: deb
URIs: https://example.com/apt
Suites: noble
Components: main
Signed-By: /etc/apt/keyrings/example.gpg従来の 1 行形式 (.list ファイル) の場合は、signed-by= オプションを使用します。
# /etc/apt/sources.list.d/example.list
deb [arch=amd64 signed-by=/etc/apt/keyrings/example.gpg] https://example.com/apt noble mainTip
各リポジトリに、その独自のリポジトリのみに署名する独自のキーリングを与えることで、1 つのサードパーティ キーが公式パッケージの偽造に使用されるのを防ぎます。これは、古いグローバル apt-key よりもはるかに安全です。
シミュレーションとダウンロード
| 指示 | 説明 |
|---|---|
apt install -s package-name | インストールのシミュレーション (ドライラン) |
apt download package-name | インストールせずにダウンロードする |
役立つヒント
| 指示 | 説明 |
|---|---|
apt changelog package-name | パッケージ変更ログを表示する |
apt policy package-name | パッケージを提供するリポジトリを表示する |
grep ^Package /var/lib/apt/lists/repo-name*_Packages | sort -u | 特定のリポジトリからすべてのパッケージを一覧表示します |