APT パッケージ管理システム
APT(Advanced Package Tool)は Debian システムのコアパッケージ管理ツールです。このチュートリアルでは、APT を使用してソフトウェアパッケージをインストール、更新、削除する方法を説明します。
🎯 APT の基本概念
APT とは?
APT は Debian システムのパッケージ管理ツールで、以下の機能を担当します:
- 📦 ソフトウェアパッケージのインストール:リポジトリからソフトウェアをダウンロードしてインストール
- 🔄 依存関係の処理:ソフトウェアパッケージの依存関係を自動的に解決
- ⬆️ システム更新:インストール済みのソフトウェアパッケージをアップグレード
- 🗑️ ソフトウェアの削除:不要なソフトウェアを安全にアンインストール
ソフトウェアリポジトリ(Repository)
ソフトウェアリポジトリはソフトウェアパッケージの保管庫です:
bash
# 主なソフトウェアリポジトリの種類
main # Debian 公式がメンテナンスするフリーソフトウェア
contrib # 非フリーソフトウェアに依存するフリーソフトウェア
non-free # 非フリーソフトウェア
security # セキュリティアップデート
updates # 安定版の更新🔧 APT 基本コマンド
パッケージリストの更新
APT を使用する前に、まずパッケージリストを更新します:
bash
# パッケージリストを更新(使用前に実行することを推奨)
sudo apt update
# 出力例:
# 命中:1 http://deb.debian.org/debian bookworm InRelease
# 取得:2 http://security.debian.org/debian-security bookworm-security InRelease [48.0 kB]
# パッケージリストを読み込んでいます... 完了💡 初心者向けヒント
apt update はパッケージリストのみを更新し、実際にソフトウェアをインストールまたはアップグレードすることはありません。このコマンドは「店舗の商品カタログを更新する」ようなものです。
ソフトウェアパッケージのインストール
単一パッケージのインストール
bash
# 基本インストールコマンド
sudo apt install パッケージ名
# 例:テキストエディタをインストール
sudo apt install vim
# 詳細情報を表示しながらインストール
sudo apt install -v firefox-esr複数パッケージのインストール
bash
# 一度に複数のパッケージをインストール
sudo apt install git curl wget
# 特定バージョンをインストール
sudo apt install python3=3.11.2-1
# 再インストール(破損したインストールを修復)
sudo apt install --reinstall firefox-esr推奨パッケージのインストール
bash
# 推奨パッケージを含めてインストール
sudo apt install --install-suggests libreoffice
# 推奨パッケージをインストールしない(デフォルト動作)
sudo apt install --no-install-suggests gimpパッケージの検索
基本検索
bash
# パッケージ名と説明を検索
apt search キーワード
# 例:エディタを検索
apt search editor
# 特定機能を検索
apt search "media player"正確な検索
bash
# パッケージ名のみを検索
apt search --names-only firefox
# 正規表現を使用して検索
apt search '^python3-'パッケージ情報の表示
bash
# パッケージの詳細情報を表示
apt show パッケージ名
# 例
apt show firefox-esr
# インストール済みバージョン情報を表示
apt list --installed firefox-esr
# 利用可能なバージョンを表示
apt list firefox-esrシステムのアップグレード
インストール済みパッケージのアップグレード
bash
# 更新可能なすべてのパッケージをアップグレード
sudo apt upgrade
# 特定パッケージをアップグレード
sudo apt upgrade firefox-esr
# 完全アップグレード(競合するパッケージの削除を含む)
sudo apt full-upgradeセキュリティアップデート
bash
# セキュリティアップデートのみをインストール
sudo apt upgrade -s | grep security
sudo apt install $(apt list --upgradable 2>/dev/null | grep security | cut -d/ -f1)パッケージの削除
パッケージの削除
bash
# パッケージを削除(設定ファイルは保持)
sudo apt remove パッケージ名
# 例
sudo apt remove firefox-esr
# 完全削除(設定ファイルを含む)
sudo apt purge パッケージ名
# 不要な依存関係を自動削除
sudo apt autoremoveシステムのクリーンアップ
bash
# ダウンロードしたパッケージファイルのキャッシュをクリーンアップ
sudo apt clean
# 古くなったパッケージファイルのみをクリーンアップ
sudo apt autoclean
# 孤立したパッケージを削除
sudo apt autoremove --purge📋 おすすめのパッケージ
開発ツール
bash
# 基本開発ツール
sudo apt install build-essential
# Git バージョン管理
sudo apt install git
# コードエディタ
sudo apt install vim nano code
# プログラミング言語
sudo apt install python3 python3-pip nodejs npmマルチメディアツール
bash
# オーディオプレーヤー
sudo apt install audacity rhythmbox
# ビデオプレーヤー
sudo apt install vlc mpv
# 画像編集
sudo apt install gimp inkscape
# オーディオ/ビデオコーデック
sudo apt install ubuntu-restricted-extrasネットワークツール
bash
# ネットワーク診断
sudo apt install net-tools curl wget
# ダウンロードツール
sudo apt install aria2 youtube-dl
# ブラウザ
sudo apt install firefox-esr chromiumオフィスソフトウェア
bash
# LibreOffice オフィススイート
sudo apt install libreoffice
# PDF リーダー
sudo apt install evince okular
# マインドマップ
sudo apt install freemind⚙️ ソフトウェアリポジトリの管理
現在のソフトウェアリポジトリの確認
bash
# ソフトウェアリポジトリ設定を確認
cat /etc/apt/sources.list
# 追加ソフトウェアリポジトリを確認
ls /etc/apt/sources.list.d/ソフトウェアリポジトリの編集
bash
# メインソフトウェアリポジトリファイルを編集
sudo nano /etc/apt/sources.list
# Debian 13 (Trixie) 完全ソフトウェアリポジトリ設定(非フリーソフトウェアおよびファームウェアを含む):
deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmwarenon-free と non-free-firmware の違い
non-free-firmware:ハードウェアファームウェア(WiFi、グラフィックスカード、Bluetooth ファームウェアなど)、Debian 13 で新たに追加された専用コンポーネントnon-free:その他の非フリーソフトウェア(NVIDIA ドライバーラッパー、プロプライエタリフォントなど)
NVIDIA ドライバー(nvidia-driver)などの非フリーソフトウェアをインストールする必要がある場合は、non-free コンポーネントも保持する必要があります。
中国ミラーソースの使用
ダウンロード速度を向上させるために、中国ミラーを使用できます:
bash
# 元のファイルをバックアップ
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
# ソフトウェアリポジトリを編集
sudo nano /etc/apt/sources.list清華大学ミラー:
bash
# 清華大学ミラーソース
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie main contrib non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security trixie-security main contrib non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security trixie-security main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie-updates main contrib non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie-updates main contrib non-free-firmware中国科学技術大学ミラー:
bash
# 中国科学技術大学ミラーソース
deb https://mirrors.ustc.edu.cn/debian/ trixie main contrib non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ trixie main contrib non-free-firmware
deb https://mirrors.ustc.edu.cn/debian-security/ trixie-security main contrib non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian-security/ trixie-security main contrib non-free-firmware
deb https://mirrors.ustc.edu.cn/debian/ trixie-updates main contrib non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ trixie-updates main contrib non-free-firmwareサードパーティソフトウェアリポジトリの追加
GPG キーの追加
bash
# GPG キーをダウンロードして追加
wget -qO - https://example.com/key.gpg | sudo apt-key add -
# 現代的な方法(推奨)
wget -qO - https://example.com/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/example-keyring.gpgソフトウェアリポジトリの追加
bash
# 新しいソフトウェアリポジトリファイルを作成
echo "deb [signed-by=/usr/share/keyrings/example-keyring.gpg] https://example.com/debian stable main" | sudo tee /etc/apt/sources.list.d/example.list
# パッケージリストを更新
sudo apt update🔍 高度な APT 操作
パッケージの依存関係
bash
# パッケージの依存関係を表示
apt depends パッケージ名
# どのパッケージがこのパッケージに依存しているかを表示
apt rdepends パッケージ名
# インストールをシミュレート(実際にはインストールしない)
sudo apt install -s パッケージ名パッケージファイルの操作
bash
# パッケージファイルをダウンロード(インストールしない)
apt download パッケージ名
# パッケージ内のファイルリストを表示
dpkg -L パッケージ名
# ファイルがどのパッケージに属するかを検索
dpkg -S /path/to/file
# パッケージのインストールスクリプトを表示
apt-get source パッケージ名バージョン管理
bash
# パッケージバージョンをロック(アップグレードを防止)
sudo apt-mark hold パッケージ名
# バージョンロックを解除
sudo apt-mark unhold パッケージ名
# ロックされているパッケージを表示
apt-mark showhold
# パッケージをダウングレード(利用可能な古いバージョンが必要)
sudo apt install パッケージ名=バージョン番号🛡️ セキュリティとベストプラクティス
セキュリティアップデート
bash
# 自動セキュリティアップデートを設定
sudo apt install unattended-upgrades
# 自動更新を設定
sudo dpkg-reconfigure unattended-upgrades
# 手動でセキュリティアップデートを確認
sudo unattended-upgrade --dry-runシステムメンテナンス
bash
# 定期的なメンテナンスコマンド(週に1回実行することを推奨)
sudo apt update && sudo apt upgrade
sudo apt autoremove
sudo apt autoclean
# システムの整合性をチェック
sudo apt check
# 破損したパッケージを修復
sudo apt install -fバックアップと復元
bash
# インストール済みパッケージリストをエクスポート
dpkg --get-selections > installed-packages.txt
# パッケージリストを復元
sudo dpkg --set-selections < installed-packages.txt
sudo apt-get dselect-upgrade🆘 トラブルシューティング
よくある問題
GPG キーエラー
bash
# 問題:NO_PUBKEY エラー
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys キーID
# または現代的な方法を使用
wget -qO - https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xキーID | sudo gpg --dearmor -o /usr/share/keyrings/package-keyring.gpgパッケージ依存関係の問題
bash
# 破損した依存関係を修復
sudo apt install -f
# クリーンアップして再設定
sudo dpkg --configure -a
# 問題のあるパッケージを強制削除
sudo dpkg --remove --force-remove-reinstreq パッケージ名ディスク容量不足
bash
# パッケージキャッシュをクリーンアップ
sudo apt clean
# 不要なパッケージを削除
sudo apt autoremove --purge
# 大きなファイルを検索
sudo du -h /var/cache/apt/archives/📱 グラフィカルインターフェースのパッケージ管理
Synaptic パッケージマネージャー
bash
# グラフィカルインターフェースのパッケージマネージャーをインストール
sudo apt install synaptic
# Synaptic を実行
sudo synapticGNOME ソフトウェアセンター
bash
# GNOME ソフトウェアセンターをインストール
sudo apt install gnome-software
# ソフトウェアセンターを起動
gnome-software次のステップ
APT パッケージ管理をマスターしたら、次を学習できます:
- システムサービス管理 - システムサービスの管理
- ユーザー権限管理 - ユーザーと権限の設定
- ネットワーク設定 - ネットワークの設定と管理
システム管理のスキルをもっと学びたいですか? システムサービスの学習を続ける →