コンテンツにスキップ

APTパッケージマネージャ

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 -lgrep package`

パッケージの依存関係

コマンド説明
apt depends package_nameパッケージの依存関係を表示
apt rdepends package_name逆依存関係を表示
apt-cache policy package_nameパッケージポリシーを表示

リポジトリ管理

リポジトリ操作

コマンド説明
sudo add-apt-repository ppa:user/repoPPAリポジトリを追加
sudo add-apt-repository --remove ppa:user/repoPPAリポジトリを削除
sudo apt edit-sourcesソース一覧を編集
ls /etc/apt/sources.list.d/追加のリポジトリをリスト

GPGキー

コマンド説明
sudo apt-key listGPGキーを一覧表示
`wget -qO - https://example.com/key.gpg \sudo apt-key add -`
sudo apt-key del KEYIDGPGキーを削除

システムメンテナンス

クリーンアップ操作

コマンド説明
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.confAPT 設定
/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.logdpkgインストールログを表示

トラブルシューティング

一般的な問題

問題ソリューション
Package conflictssudo apt --fix-broken install
Locked databasesudo rm /var/lib/dpkg/lock*
Corrupted cachesudo apt clean && sudo apt update
Unmet dependenciessudo 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定期的な更新: 定期的に実行