Debian and Ubuntuのパッケージ管理のための包括的なAPT(Advanced Package Tool)コマンドとワークフロー。
インストールと更新
基本的なパッケージ操作
| コマンド | 説明 |
|---|
sudo apt update | パッケージインデックスを更新 |
sudo apt upgrade | すべてのパッケージをアップグレード |
sudo apt full-upgrade | 依存関係の解決によるアップグレード |
sudo apt install package_name | パッケージをインストール |
sudo apt remove package_name | パッケージを削除 |
sudo apt purge package_name | パッケージと設定ファイルを削除 |
sudo apt autoremove | 未使用の依存関係を削除 |
高度なインストール
| コマンド | 説明 |
|---|
sudo apt install package1 package2 | 複数のパッケージをインストール |
sudo apt install package=version | 特定のバージョンをインストール |
sudo apt install ./package.deb | ローカルの .deb ファイルをインストール |
sudo apt reinstall package_name | パッケージを再インストール |
sudo apt install --no-install-recommends package | 推奨パッケージなしでインストール |
パッケージ情報
検索と情報
| コマンド | 説明 |
|---|
apt search keyword | パッケージを検索 |
apt show package_name | パッケージ情報を表示 |
apt list --installed | インストールされたパッケージの一覧 |
apt list --upgradable | アップグレード可能なパッケージのリスト |
apt list package_name | パッケージが利用可能かどうかを確認する |
dpkg -l | インストールされているパッケージをすべて一覧表示 |
| `dpkg -l | grep package` |
パッケージの依存関係
| コマンド | 説明 |
|---|
apt depends package_name | パッケージの依存関係を表示 |
apt rdepends package_name | 逆依存関係を表示 |
apt-cache policy package_name | パッケージポリシーを表示 |
リポジトリ管理
リポジトリ操作
| コマンド | 説明 |
|---|
sudo add-apt-repository ppa:user/repo | PPAリポジトリを追加 |
sudo add-apt-repository --remove ppa:user/repo | PPAリポジトリを削除 |
sudo apt edit-sources | ソース一覧を編集 |
ls /etc/apt/sources.list.d/ | 追加のリポジトリをリスト |
GPGキー
システムメンテナンス
クリーンアップ操作
| コマンド | 説明 |
|---|
sudo apt autoclean | パッケージキャッシュをクリーン |
sudo apt clean | キャッシュされたパッケージをすべて削除 |
sudo apt autoremove --purge | 未使用のパッケージと設定を削除 |
sudo apt-get check | 壊れた依存関係を確認する |
壊れたパッケージの修復
| コマンド | 説明 |
|---|
sudo apt --fix-broken install | 壊れた依存関係を修正する |
sudo dpkg --configure -a | 未設定のパッケージを設定する |
sudo apt-get -f install | 依存関係を修正するために強制インストール |
設定ファイル
APT設定
| ファイル | 説明 |
|---|
/etc/apt/sources.list | メインリポジトリリスト |
/etc/apt/sources.list.d/ | 追加のリポジトリファイル |
/etc/apt/apt.conf | APT 設定 |
/etc/apt/preferences | パッケージピン留め |
sources.listの例
# Ubuntu 22.04 LTS (Jammy Jellyfish)
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted
deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ jammy universe
deb http://archive.ubuntu.com/ubuntu/ jammy-updates universe
deb http://archive.ubuntu.com/ubuntu/ jammy multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted
deb http://security.ubuntu.com/ubuntu/ jammy-security universe
deb http://security.ubuntu.com/ubuntu/ jammy-security multiverse
パッケージのピン留め
パッケージバージョンのピン留め
# /etc/apt/preferences.d/package-pin
Package: package_name
Pin: version 1.2.3*
Pin-Priority: 1001
リポジトリのピン留め
# /etc/apt/preferences.d/repo-pin
Package: *
Pin: release o=Ubuntu,a=jammy-backports
Pin-Priority: 100
高度な使用法
シミュレーションとテスト
| コマンド | 説明 |
|---|
apt list --upgradable -a | 利用可能なバージョンをすべて表示 |
sudo apt upgrade --dry-run | アップグレードをシミュレート |
sudo apt install package --dry-run | インストールをシミュレート |
ログと履歴
| コマンド | 説明 |
|---|
cat /var/log/apt/history.log | インストール履歴を表示 |
cat /var/log/apt/term.log | 詳細なログを表示 |
grep " install " /var/log/dpkg.log | dpkgインストールログを表示 |
トラブルシューティング
一般的な問題
| 問題 | ソリューション |
|---|
| Package conflicts | sudo apt --fix-broken install |
| Locked database | sudo rm /var/lib/dpkg/lock* |
| Corrupted cache | sudo apt clean && sudo apt update |
| Unmet dependencies | sudo apt -f install |
緊急復旧
| コマンド | 説明 |
|---|
sudo dpkg --force-depends --remove package | 強制的に問題のあるパッケージを削除 |
sudo apt-get download package | パッケージをインストールせずにダウンロード |
sudo dpkg -i --force-depends package.deb | .deb ファイルを強制的にインストール |
ベストプラクティス
セキュリティsudo apt update && sudo apt upgrade定期的な更新: 定期的に実行