新Linux入門|パッケージ管理を使いこなそう!APT・DNFの基本と仕組み

今回は、Linuxシステムに欠かせない「パッケージ管理」について、わかりやすく紹介していきます😄
 AlmaLinux 9.6のようなRed Hat系ディストリビューションでは DNF、UbuntuなどのDebian系では APT が使われています。
 どちらも「ソフトウェアのインストール・更新・削除」を簡単にしてくれる、頼もしいツールなんです💪

📦 パッケージとは?

パッケージとは、ソフトウェアや関連ファイルをひとまとめにした“セット”のことです📦
中には以下のようなファイルが含まれています👇

種類内容の例
実行ファイルプログラム本体(例:/usr/bin/httpd)
ライブラリプログラムが利用する関数やモジュール(例:libssl.so)
設定ファイル動作設定(例:/etc/httpd/conf/httpd.conf)
ドキュメントマニュアル、ライセンス情報など

 パッケージは、個々のファイルをバラバラに管理する代わりに、一元的に扱えるようにする仕組みなんです✨

⚙️ パッケージ管理とは?

パッケージ管理とは、インストールやアップデート、削除などを自動的に行う仕組みのことです。
 「依存関係の解決」や「バージョン管理」などもすべておまかせでやってくれる、とっても便利な機能です😎

機能説明
🔗 依存関係の解決必要なライブラリを自動でインストール
🔄 バージョン管理適切なバージョンを選択して競合を防止
⬆️ アップグレード新しいバージョンに更新
⬇️ ダウングレード古いバージョンへの切り替えも可能

🧰 主要なパッケージ管理システム

Linuxの世界には複数のパッケージ管理システムが存在します。
それぞれのディストリビューションによって標準が異なります👇

管理システム主な環境コマンド拡張子
DNFRed Hat系(AlmaLinux, Rocky, RHEL)dnf.rpm
APTDebian系(Ubuntu, Debian)apt.deb
ZypperopenSUSEzypper.rpm
PacmanArch Linuxpacman.pkg.tar.xz

AlmaLinuxでは DNF が標準ですが、APTも同じような操作感で動作します✨

🧩 DNFコマンドの基本操作(AlmaLinux 9.6)

操作コマンド例説明
検索dnf search httpdパッケージを検索
インストールdnf install httpd新しいパッケージを導入
更新dnf update httpdパッケージを最新版に更新
削除dnf remove httpdパッケージを削除
一括更新dnf upgradeシステム全体を更新

🔍 出力例

[root@AlmaLinux ~]# dnf install httpd
(省略)
依存関係が解決しました。
=========================================================================
 パッケージ           Arch       バージョン          リポジトリー  サイズ
=========================================================================
アップグレード:
 httpd                x86_64     2.4.62-7.el9        appstream      44 k
 httpd-core           x86_64     2.4.62-7.el9        appstream     1.4 M
 httpd-filesystem     noarch     2.4.62-7.el9        appstream      11 k
 httpd-tools          x86_64     2.4.62-7.el9        appstream      78 k
 mod_lua              x86_64     2.4.62-7.el9        appstream      58 k

トランザクションの概要
=========================================================================
アップグレード  5 パッケージ

ダウンロードサイズの合計: 1.6 M
これでよろしいですか? [y/N]:

これだけでApacheを簡単に導入できます😄

🐧 APTコマンドの基本操作(Ubuntuなど)

操作コマンド例説明
検索apt search nginxnginxパッケージを検索
インストールapt install nginxnginxをインストール
更新apt upgrade nginxパッケージをアップデート
削除apt remove nginxnginxを削除
一括更新apt update && apt upgradeパッケージリスト更新+全体更新

APTも同様に依存関係を自動で処理してくれます✨

🧠 パッケージの仕組み

パッケージは単なる圧縮ファイルではなく、メタデータ(情報)を持っています。
これによって、バージョンや依存情報などが正確に管理されます📘

情報項目内容
名前パッケージ名(例:httpd)
バージョンソフトウェアのリリース番号
依存関係必要な他のパッケージ
ライセンス利用条件
説明パッケージの概要

🌐 リポジトリの仕組み

リポジトリは、パッケージが保管されている“倉庫”のような場所です🏢

種類説明
ローカルリポジトリ/media/repo や /mnt/dvdオフライン環境で利用可能
リモートリポジトリhttps://repo.almalinux.org/インターネット経由で取得

 AlmaLinuxでは、DNFが自動的にリポジトリを参照して、必要なパッケージをダウンロードします📡

🔍 パッケージの検索と情報確認

パッケージを検索したり、詳細を確認したりするときは以下のコマンドを使います👇

[root@AlmaLinux ~]# dnf info httpd
メタデータの期限切れの最終確認: 3:03:33 前の 2025年11月23日 20時30分07秒 に実施しました。
インストール済みパッケージ
名前         : httpd
バージョン   : 2.4.62
リリース     : 4.el9_6.4
Arch         : x86_64
サイズ       : 59 k
ソース       : httpd-2.4.62-4.el9_6.4.src.rpm
リポジトリー : @System
repo から    : appstream
概要         : Apache HTTP Server
URL          : https://httpd.apache.org/
ライセンス   : ASL 2.0
説明         : The Apache HTTP Server is a powerful, efficient, and
             : extensible web server.

利用可能なパッケージ
名前         : httpd
バージョン   : 2.4.62
リリース     : 7.el9
Arch         : x86_64
サイズ       : 44 k
ソース       : httpd-2.4.62-7.el9.src.rpm
リポジトリー : appstream
概要         : Apache HTTP Server
URL          : https://httpd.apache.org/
ライセンス   : ASL 2.0
説明         : The Apache HTTP Server is a powerful, efficient, and
             : extensible web server.

DNFはインストール済みかどうかも自動でチェックしてくれます💡

🌟 まとめ

パッケージ管理システムは、Linuxの心臓部とも言える存在です💓
DNFやAPTを使えば、たった数行のコマンドで複雑なソフトウェア管理を自動化できます。

  • 依存関係を自動で処理
  • システムを常に最新・安全な状態に保つ。
  • 手動インストールよりも効率的

Linuxを使いこなす第一歩は、パッケージ管理を理解すること!
DNFやAPTをマスターすれば、あなたも立派なLinuxエンジニアです🐧✨