Linux 講座 / APT と DNF でパッケージをインストール・アップデートする
Linuxのパッケージマネージャーは、リポジトリからプログラムと必要な依存パッケージを探してインストール・更新・削除します。Debian・Ubuntu 系では APT の apt、Rocky Linux 系では DNF の dnf が代表的です。更新は、リポジトリ情報だけを更新する段階と、実際にインストールされたパッケージを変更する段階を区別することが安全です。
この記事では、パッケージの検索・インストール・更新ツールについて扱います。インストールしたプログラムをバックグラウンドサービスとして管理する場合は、systemd サービスの状態と起動方法も併せて確認してください。
システム設定実習の基準は Ubuntu 26.04 LTS と Rocky Linux 9 系の一般インストール VM です。コンテナ・WSL・別のリリースでは、サービスやパッケージの構成が異なる場合があります。仮想マシン実習環境の作成で、コンソールの復旧とバージョン確認を最初に準備してください。
パッケージ、リポジトリ、依存関係の理解
パッケージは、プログラムファイルとバージョン・依存関係などのインストール情報をまとめた単位です。リポジトリ(repository)は、ディストリビューションが提供するか、管理者が追加したパッケージの提供元です。あるプログラムが他のライブラリを要求する場合、パッケージマネージャーが依存関係を確認し、まとめてインストールできます。インストール前には、出所、追加・置換・削除されるパッケージとサービスへの影響を確認してください。
同じコマンド名でも、ディストリビューション、リリース、設定されたリポジトリによって提供されるバージョンや結果が異なります。Debian・UbuntuとRocky Linuxのコマンドを同一システムで混ぜて実行しないでください。次に、自分のディストリビューションを確認できます。
cat /etc/os-release
command -v apt
command -v dnf
/etc/os-releaseのID・ID_LIKEは、ディストリビューション系統を判断する手がかりです。command -vはコマンドがあるかを確認するだけで、そのディストリビューションのすべてのパッケージ管理方針まで説明するものではありません。コンテナ・最小インストールイメージでは、管理ツールがないか、使用が制限される場合があります。
APTとDNFの基本操作の比較
| 目的 | Debian·Ubuntu: APT | Rocky Linux: DNF |
|---|---|---|
| パッケージの検索 | apt search tree |
dnf search tree |
| パッケージ情報 | apt show tree |
dnf info tree |
| 新しい更新の確認 | sudo apt update 後 apt list --upgradable |
sudo dnf check-update |
| パッケージのインストール | sudo apt install tree |
sudo dnf install tree |
| インストール済みパッケージの更新 | sudo apt upgrade |
sudo dnf upgrade |
| パッケージの削除 | sudo apt remove tree |
sudo dnf remove tree |
表の tree はコマンド例用のパッケージです。各リポジトリでの提供状況は、実際のシステムで確認してください。dnf check-update は更新がある場合、終了状態 100 を返すことがあるため、自動化ではこれをすぐにエラーとして扱わないでください。表のインストール・更新・削除コマンドはシステム状態を変更するため、練習用環境で対象を確認した後に実行してください。
Debian・UbuntuでAPTを使う
APTはDebianパッケージ(.deb)を管理します。sudo apt update は設定されたリポジトリのパッケージ一覧を最新にし、通常すでにインストールされているプログラムをそのままアップグレードすることはありません。apt list --upgradable で更新候補を確認した後、sudo apt upgrade を実行するとインストール済みパッケージの更新が行われます。
sudo apt update
apt list --upgradable
sudo apt upgrade
アップグレードを実行する前に、新たにインストール・更新・削除されるパッケージのリストとダウンロード量を確認してください。リポジトリのメタデータのダウンロードに失敗した場合、リストが古いか、一部のリポジトリを読み取れなかった可能性があるため、警告を確認する必要があります。aptは人が対話的に使用する際に便利なインターフェースであり、安定したコマンドライン動作が重要なスクリプトには、ディストリビューションのドキュメントで案内されているようなapt-getのようなツールを検討してください。
新しいプログラムを探すときは、まず検索と情報の照会を行います。次の例では、sudo apt install treeが実際のインストールを行い、tree --versionが結果の確認に使われます。
apt search tree
apt show tree
sudo apt install tree
tree --version
インストールが成功した場合、tree --versionでバージョン情報を確認できます。バージョン番号はディストリビューションおよびリポジトリによって異なります。パッケージが存在しないとのメッセージが出る場合は、ディストリビューション、リポジトリの設定、スペルを確認してください。インターネットで見つけた任意のリポジトリやインストールスクリプトを出所確認なしに追加しないでください。
Rocky LinuxでDNFを使用する
Rocky LinuxはRPMパッケージをDNFで管理します。dnf searchおよびdnf infoで候補を確認し、sudo dnf installでインストールします。DNFは実行するトランザクションでインストール・更新・削除されるパッケージを表示するので、確認プロンプトを自動承認する前にリストを読む必要があります。
dnf search tree
dnf info tree
sudo dnf install tree
tree --version
新しいアップデートの存在を確認して実際のパッケージを更新するコマンドは区別されています。以下でcheck-updateはアップデート候補を照会し、upgradeは承認後にインストールされたパッケージを更新します。
sudo dnf check-update
sudo dnf upgrade
Rocky Linuxの通常のパッケージ更新とメジャーバージョンの移行は異なる作業です。dnf upgradeは、ここで設定されているリポジトリから同じメジャーバージョンの更新を適用します。Rocky Linux アップデートガイドでは、メジャーバージョン間の移行について新規インストールをサポートする方針を説明しています。移行時はデータと設定をバックアップし、新しいOSへの復元・互換性確認を別途計画してください。
インストール前に確認すべき項目
- OSの種類とリリース、利用中のリポジトリを確認します。必要なパッケージが公式または信頼できるリポジトリにあるか確認します。
- パッケージ情報で名前・バージョン・説明・依存関係を確認します。同じ名前に見えても、異なる機能のパッケージである場合があります。
- インストールやアップグレードによって提案される追加パッケージ・削除項目とディスク使用量を確認します。運用サーバーの場合、サービス停止の可能性と復旧方法を準備します。
- コマンド実行後、終了状態と出力のエラー・警告を確認し、プログラムのバージョンおよび必要なサービスの状態を確認します。
- 問題が発生した場合、必ず以前のバージョンに戻せるとは想定しません。事前に確保したバックアップ、リポジトリの提供バージョン、ディストリビューションの復旧手順を基準に判断します。
セキュリティアップデートに再起動が必要かどうかは、変更されたパッケージとディストリビューションの運用方針によって異なります。新しいカーネルをインストールした場合、実行中のカーネルはすぐには変わりません。uname -rで現在のカーネルを確認し、変更のタイミングとサービスへの影響を考慮して再起動を計画してください。
削除・整理の際の注意点
apt removeまたはdnf removeは指定したパッケージを削除します。APTのpurgeはパッケージが管理する設定ファイルの削除まで含むため、単純な削除より影響が大きいです。自動インストールされた依存パッケージを整理するautoremoveは、提案リストに必要なプログラムが含まれていないか確認してから使用してください。データディレクトリや手動で作成したファイルがすべて削除されるかどうかはパッケージ・スクリプトごとに異なるため、削除をバックアップ手段と考えないでください。
DNFのhistoryは過去のトランザクション(パッケージ操作履歴)を調査するのに役立ちますが、記録があるというだけで全ての変更を完全に元に戻せる保証はありません。設定ファイル・データ・外部リポジトリの変更は別途バックアップが必要です。
公式ドキュメント
Ubuntu Server パッケージ管理ドキュメントはAPTのリスト更新やインストール・アップグレード手順を説明しています。DNF コマンドリファレンスにはinstall・check-update・upgradeなどの動作と終了状態が整理されています。Rocky Linux アップデートガイドはリリースアップデートの適用範囲を確認する際に参考にできます。




