ここまでのLinux中級では、 プロセス・サービス・ログなど、 Linuxサーバを運用するための基本操作を学習してきました。
では、Linuxへ nginxやApache、Gitなど新しいソフトウェアを追加したい 場合はどうすればよいのでしょうか。
インストール済みソフトウェアを更新したい。
不要になったパッケージを削除したい。
Linuxでは、このようなソフトウェアの導入・更新・削除を パッケージ管理という仕組みで行います。
この記事はLinux中級講座の一部です。 Linuxのパッケージ・リポジトリ・依存関係を理解し、 apt・dnfによる基本的なパッケージ管理を学習します。
Linux中級講座を見る →
Linuxのパッケージ・リポジトリ・依存関係の仕組みを理解し、
apt・dnfを使って
ソフトウェアを検索・インストール・更新・削除できる状態を目指します。
Linuxの「パッケージ」とは?
Linuxでソフトウェアを配布するとき、 プログラム本体だけを単独で配るのではなく、 必要なファイルや情報をまとめた パッケージという単位で管理することがあります。
つまり、 パッケージはLinuxへソフトウェアを導入するためのまとまり と考えると分かりやすいです。
パッケージマネージャとは?
パッケージを1つずつ手作業でダウンロードして インストールするのは大変です。
そこでLinuxでは、 パッケージマネージャを利用します。
パッケージマネージャは、 ソフトウェアの取得・インストール・更新・削除などを まとめて管理してくれます。
Linuxによって使うパッケージマネージャが違う
Linuxでは、 ディストリビューションによって 利用するパッケージ管理コマンドが異なります。
apt
dnf
初学者のうちは、
と覚えておけば十分です。
リポジトリとは?
では、aptやdnfは どこからパッケージを取得しているのでしょうか。
そこで登場するのが リポジトリ(repository)です。
リポジトリとは、 パッケージが集められている保管場所 のようなものです。
一般的なLinuxでは、 設定されているリポジトリを参照して 必要なパッケージを取得・インストールします。
依存関係とは?
ソフトウェアは、 単独ですべての機能を持っているとは限りません。
別のライブラリやパッケージを必要とする場合があります。 これを 依存関係(dependency) と呼びます。
パッケージマネージャを利用すると、 必要な依存パッケージも確認しながら インストールできます。
手動で必要なライブラリを1つずつ探すのではなく、 パッケージマネージャが必要な依存関係を解決してくれます。
apt update:パッケージ情報を更新する
UbuntuやDebian系Linuxでは、 aptを利用します。
最初に覚えておきたいのが、
apt updateです。
sudo apt update
$ sudo apt update
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Fetched 126 kB in 1s
Reading package lists... Done
apt updateは、 リポジトリから最新のパッケージ情報を取得する 操作です。
apt updateだけではパッケージは更新されない
ここは初心者が特に混乱しやすいポイントです。
利用可能なパッケージや バージョンの一覧を更新する。
インストール済みパッケージを 新しいバージョンへ更新する。
apt search:パッケージを検索する
インストールしたいパッケージを検索するときは、
apt searchを利用できます。
apt search nginx
$ apt search nginx
Sorting... Done
Full Text Search... Done
nginx/noble 1.24.0 amd64
small, powerful, scalable web/proxy server
nginx-core/noble 1.24.0 amd64
nginx web/proxy server - core version
apt install:パッケージをインストールする
パッケージをインストールするときは、 apt installを利用します。
sudo apt install nginx
$ sudo apt install nginx
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
nginx nginx-common
Need to get 620 kB of archives.
After this operation, 1,800 kB of additional disk space will be used.
Do you want to continue? [Y/n]
インストール前には、 新しく導入されるパッケージや 必要なディスク容量などが表示されます。
本番サーバでは、何がインストール・変更されるのかを 確認してから実行する習慣が重要です。
インストール済みか確認する
aptでは、 次のようにパッケージの状態を確認できます。
apt list --installed | grep nginx
$ apt list --installed | grep nginx
nginx/noble,now 1.24.0 amd64 [installed]
nginx-common/noble,now 1.24.0 all [installed]
また、 パッケージの詳細情報を確認したい場合は、
apt show nginx
なども利用できます。
apt remove:パッケージを削除する
不要になったパッケージを削除するときは、 apt removeを利用します。
sudo apt remove nginx
これにより、 nginxパッケージを削除できます。
removeとpurgeの違い
aptでは、
removeのほかに
purgeがあります。
apt remove nginx
パッケージ本体を削除する。 一部の設定ファイルが残る場合があります。
apt purge nginx
パッケージと関連する設定ファイルも 削除したい場合に利用します。
後から設定を再利用したい場合などは、 必要なファイルを確認してから実行しましょう。
apt autoremove:不要になった依存パッケージを削除する
パッケージを削除したあと、 そのパッケージのためだけにインストールされた 依存パッケージが残ることがあります。
そのような不要パッケージを整理するために、
sudo apt autoremove
を利用できます。
RHEL系Linuxではdnfを利用する
RHEL・Rocky Linux・AlmaLinuxなどでは、 dnfが代表的なパッケージマネージャです。
基本的な考え方はaptと同じです。
dnf search nginx
sudo dnf install nginx
sudo dnf upgrade
sudo dnf remove nginx
dnf list installed
aptとdnfを対応させて覚えよう
apt search nginx
dnf search nginx
apt install nginx
dnf install nginx
apt upgrade
dnf upgrade
apt remove nginx
dnf remove nginx
「リポジトリから検索 → インストール → 更新 → 削除」 というパッケージ管理の基本構造は共通しています。
パッケージをインストールしたらサービス管理につながる
ここで、前の記事までの内容とつなげてみましょう。
たとえばnginxをインストールした場合、 その後にsystemctlでサービス状態を確認することがあります。
apt install nginx
systemctl status nginx
journalctl -u nginx
このように、 これまで学習してきたLinux中級の内容は 別々の知識ではなくつながっています。
パッケージ更新はセキュリティ面でも重要
パッケージには、 機能改善だけでなく 脆弱性修正が含まれることがあります。
そのためLinuxサーバの運用では、 パッケージ更新も重要な管理項目です。
パッケージ更新によって挙動や依存関係が変化する可能性があります。 変更内容・影響・メンテナンス手順を確認して適用することが重要です。
パッケージを導入するときの基本的な流れ
apt search nginx
apt show nginx
sudo apt install nginx
apt list --installed
systemctl status nginx
ここで実際に試してみよう:パッケージ管理シミュレーター
疑似Ubuntu環境で、 nginxパッケージを 検索 → インストール → 確認 → 削除 してみましょう。
APT Package Manager
nginxパッケージを検索してみましょう
apt search → apt show → apt install の順に試すと、 パッケージ導入の流れを理解できます。
理解度チェック:apt updateとapt upgradeの違い
まず、利用可能な最新パッケージ情報を取得したい場合、 どのコマンドを実行すればよいでしょうか?
「情報の更新」と「実際のパッケージ更新」を区別しましょう。
初心者が間違えやすいポイント
① apt updateでソフトウェア自体が更新されたと思う
apt updateは、
利用可能なパッケージ情報を更新する操作です。
② apt removeとapt purgeを同じだと思う
設定ファイルも含めて削除するかどうかという違いがあります。
③ aptとdnfを同じ環境で使おうとする
利用しているLinuxディストリビューションによって、 基本的に使用するパッケージマネージャが異なります。
確認問題:Linuxパッケージ管理の基本を確認しよう
Linuxのリポジトリとは何ですか?
パッケージマネージャは設定されたリポジトリから パッケージ情報やソフトウェアを取得します。
Ubuntuでnginxをインストールする代表的なコマンドはどれですか?
Ubuntu・Debian系ではaptを使って パッケージをインストールできます。
apt updateの説明として正しいものはどれですか?
apt updateはパッケージ一覧情報を更新します。 実際のインストール済みパッケージ更新とは異なります。
3問に挑戦してみましょう。
まとめ
Linuxではソフトウェアを パッケージという単位で管理する
パッケージマネージャは リポジトリからパッケージを取得し、 依存関係も管理する
Ubuntu・Debian系ではapt、 RHEL系ではdnfが代表的
apt updateは情報更新、
apt upgradeは
インストール済みパッケージの更新
パッケージを変更するときは、 依存関係・変更内容・サービスへの影響を確認する ことが重要
パッケージを増やすとディスク容量も消費する
ソフトウェアをインストールすると、 当然ながらLinuxサーバの ディスク領域を使用します。
Linuxサーバを運用していると、 「ディスク容量が足りない」 という問題も発生します。
そこで次に覚えたいのが、 dfとduです。
次は「df・duでディスク使用量を確認する」を学びましょう
パッケージ管理を理解したら、 次はLinuxサーバの ディスク容量を確認する方法を学習します。
次の記事では、
dfでファイルシステム全体の空き容量を確認し、
duで
どのディレクトリやファイルが容量を使っているのか
を調査します。

