Linuxのパッケージ管理について学ぼう|Debianパッケージ・RPMパッケージ・仮想化の基本をまとめて理解する

7 min 54 views
LINUXのパッケージについて

Linuxを使い始めると、ほぼ必ずぶつかるのが「パッケージ管理」と「仮想化」という2つのテーマです。

  • ソフトウェアをどうやってインストール・アンインストールするのか
  • 依存関係が…ってエラーは何を言っているのか
  • Debian系とRed Hat系でコマンドが違うのはなぜか
  • 仮想マシンやコンテナって何が違うのか

この記事では、こうした疑問を整理しつつ、LPIC-1(特に101試験)のパッケージ管理&仮想化の範囲を、ブログ用にわかりやすく噛み砕いて解説します。

1. はじめに

まず、この記事で押さえておきたい内容を整理しておきます。

  • Debian系(.deb)のパッケージ管理が説明できる
  • Red Hat系(.rpm)のパッケージ管理が説明できる
  • 仮想化の代表的な方式をイメージで語れる

LPIC的に言うと、トピック「Linuxのインストールとパッケージ管理」のうち、

  1. Debianパッケージ管理
  2. RPMパッケージ管理
  3. 仮想化の基礎

をカバーするイメージです。

2. パッケージ管理とは?ざっくり整理

まず共通の前提から。

パッケージ管理とは:

ライブラリやフレームワークなどのソフトウェアをインターネット経由でインストールし、更新・削除・依存関係の解決などをまとめて面倒みる仕組み。

のことです。

この仕組みを提供しているソフトウェアが、パッケージ管理システム(APT、Yum、DNF など)です。

ディストリビューションごとに主流の方式が違います。

系列パッケージ形式主なコマンド
Debian系(Ubuntu など).debdpkg, apt-get, apt-cache, apt
Red Hat系(RHEL, CentOS, Fedora など).rpmrpm, yum, dnf
openSUSE など.rpmzypper(ZYpp)

3. Debian系パッケージ管理を理解しよう(dpkg と APT)

 3-1. dpkg:もっとも素朴な“基礎レイヤ”

dpkg は Debian形式パッケージを直接扱う、もっとも基本的な仕組みです。
拡張子 .deb のファイルに対してインストールや削除を行います。

コマンド例:

dpkg -i package.deb      # インストール
dpkg -r package_name     # 削除(設定ファイル残す)
dpkg -P package_name     # 完全削除(設定ファイルも削除)

よく使うオプションを整理しておきます。

オプション内容
-i / --installパッケージをインストール
-E同じバージョンが入っていれば上書きしない
-Gそれより新しいバージョンが入っていれば上書きしない
-r / --removeパッケージ削除(設定ファイル残す)
-P / --purge設定ファイルごと完全削除
-l / --listインストール済みパッケージ一覧 or 検索
-s / --status指定パッケージの状態・情報
-L / --listfilesパッケージが含むファイル一覧
-S / --searchファイルがどのパッケージ由来か調べる

イメージとしては、dpkg = 「ローカルの .deb ファイルを直接触るコマンド」という位置づけです。

 3-2. APT:依存関係込みで全部面倒みてくれる賢いシステム

APT(Advanced Package Tool)は Debian系で主力のパッケージ管理システムです。

dpkgとの違い:

  • インターネット上のリポジトリからパッケージを取得できる
  • 依存関係を自動で解決してくれる

パッケージの“インストールや更新の実務”は、ほとんど APT にお任せというケースが多いです。

APT関連の主役はこの3つ:

  • apt-get
  • apt-cache
  • apt(新世代の統合コマンド)

3-2-1. 「依存関係の解決」とは?

例:

  • Aというソフトを動かすにはBというライブラリが必須
    → 「AはBに依存している」と言う

APTを使えば、Aをインストールするときに、必要なBもまとめて入れてくれます。
この “関連パッケージを自動で合わせて入れてくれる” 仕組みが 依存関係の解決 です。

 3-3. apt-get:インストール・更新の基本コマンド

書式はこんな感じです。

apt-get [オプション] サブコマンド [パッケージ名]

代表的なサブコマンド:

サブコマンド内容
installインストール
upgrade既存パッケージを更新(削除はしない)
dist-upgrade更新時に不要パッケージを削除しつつ更新
updateパッケージリストを最新に更新
remove削除(設定ファイル残す)
purge完全削除(設定ファイルも消す)

APT が参照するリポジトリ(パッケージダウンロード元)は/etc/apt/sources.list で管理されています。

新しいリポジトリを追加したら、必ず:

apt-get update

で情報を更新するのが基本の流れです。

 3-4. apt-cache:情報を“調べる”担当

インストールではなく「情報を調べる」コマンドです。

apt-cache [オプション] サブコマンド [パッケージ名]

代表的なサブコマンド:

サブコマンド内容
searchキーワードでパッケージを検索
showパッケージの詳細を表示
depends依存しているパッケージを表示

 3-5. apt:apt-get+apt-cache を統合した“今どきのコマンド”

最近の Debian / Ubuntu では、apt コマンドの利用が推奨されています。
apt-get と apt-cache の機能を統合したイメージです。

apt [オプション] サブコマンド [パッケージ名]

主なサブコマンド:

サブコマンド内容
installインストール
upgrade更新(削除なし)
full-upgrade不要パッケージの整理込みの更新
updateパッケージリスト更新
remove / purge削除(設定ファイル残す/含む)
search検索
show情報表示
depends依存関係表示

実務でも試験勉強でも、「apt さえ確実に使えれば、Debian系はかなり戦える」という感覚でOKです。

4. RPM系パッケージ管理を理解しよう

Red Hat系(RHEL / CentOS / Fedora など)は .rpm 形式のパッケージを使います。
ここでは次の4つを押さえます。

  • rpm
  • yum
  • dnf
  • zypper(openSUSE)

 4-1. rpm:RPM形式の“素朴な基礎レイヤ”

rpm は .rpm ファイルを直接操作するコマンドです。
Debian系でいう dpkg に近いイメージ。

代表的なオプション

オプション内容
-i / --installインストール
-U / --upgradeアップグレード(なければインストール)
-F / --freshen既存のものがある場合だけアップグレード
-e / --eraseアンインストール
-q / --queryパッケージ情報を問い合わせ

インストール・更新・削除時によく組み合わせるオプション

オプション内容
-v詳細表示
-h進行状況を # で表示
--nodeps依存関係を無視して実行(要注意)

情報表示関連(-q と併用)

オプション内容
-aすべてのインストール済みパッケージ
-i指定パッケージの情報
-R依存しているファイル
-lパッケージに含まれるファイル
-c設定ファイルだけ表示
-dドキュメントファイルだけ表示
-f指定ファイルがどのパッケージ由来か調べる
-pパッケージファイル名(.rpm)を指定するときに使う
--changelog変更履歴を表示

 4-2. Yum:RPM版APT的な存在

Yum(Yellowdog Updater Modified)は、RPM世界の代表的パッケージ管理システムです。

  • インターネット経由でパッケージを取得できる
  • 依存関係も解決してくれる

という意味では、Debian系の APT と同じポジション。

設定ファイルの場所

  • /etc/yum.conf:基本設定
  • /etc/yum.repos.d/:リポジトリ情報(URLなど)が入った .repo ファイル群

yumコマンドの基本形

yum [オプション] サブコマンド [パッケージ名]

主なサブコマンド

サブコマンド内容
installインストール
update更新
removeアンインストール
search検索
info詳細情報
listパッケージ一覧
deplist依存関係表示
check-update更新可能なパッケージ一覧
grouplistパッケージグループを一覧表示
groupinstallグループ単位でインストール

RPMの世界には「パッケージグループ」という概念があり、用途別にまとめてインストールできるのも特徴です。

 4-3. DNF:Yumの進化形

DNF(Dandified Yum)は、Yum の後継にあたるパッケージ管理システムです。

  • Fedora 22以降
  • CentOS 8以降

などでは yum から dnf に移行しています。

コマンドの使い方はほぼ同じです。

dnf [オプション] サブコマンド [パッケージ名]

代表的なサブコマンド

サブコマンド内容
installインストール
upgrade更新
removeアンインストール
search検索
info詳細情報
listパッケージ一覧
deplist依存関係表示
check-update更新可能なパッケージ
group listグループ一覧
groupinstallグループインストール

 4-4. ZYpp と zypper(openSUSE の世界)

openSUSE では、Yum の代わりに ZYpp というシステムが使われており、操作は主に zypper コマンドで行います。

zypper [グローバルオプション] サブコマンド [コマンドオプション] [パッケージ名]

代表的なサブコマンド

サブコマンド内容
install / inインストール
update / up更新
remove / rmアンインストール
search / se検索
info詳細情報
list-updates / lu更新候補の一覧

LPIC的には「RPM形式でも、Yum だけでなく ZYpp / zypper も出てくる」と覚えておくと安心です。

5. 仮想化の基礎を理解しよう

 5-1. 仮想化とは?

仮想化とは:サーバー・ストレージ・ネットワークといったリソースをソフトウェアの力で分割したりまとめたりして“仮想的な環境” を作る技術のことです。

  • 1台の物理マシンに、複数の仮想マシンを立てる
  • 1つのOSの中に、軽量なコンテナをたくさん動かす

といったことができます。

クラウド(AWS、GCPなど)で提供される仮想マシンは、インスタンス と呼ばれます。

 5-2. 仮想化の3つの代表的な方式

大きく分けて以下の3パターンがあります。

① ホスト型(ホストOSの上で動くタイプ)

  • 物理マシン
     → ホストOS(Windows / Linux など)
      → 仮想化ソフト(VirtualBox など)
       → 仮想マシン(ゲストOS)

身近な例:

  • 自分のWindowsに VirtualBox を入れて、その中でLinuxを動かす

代表的なソフト:

  • VMware Workstation Player
  • VirtualBox など

② ハイパーバイザー型(ベアメタル型)

  • 物理マシン
     → ハイパーバイザー(専用の薄いOSのようなもの)
      → 複数の仮想マシン(ゲストOS)

特徴:

  • ホストOSが存在しない
  • サーバー用途でよく使われる
  • 物理リソースを効率よく使える

代表例:

  • Xen
  • KVM など

③ コンテナ型

  • 物理マシン
     → ホストOS
      → コンテナエンジン(Docker など)
       → コンテナ(アプリ実行環境)

特徴:

  • 仮想マシンより軽量で高速
  • OSカーネルはホストと共有
  • アプリ単位で分離された環境を作れる

代表例:

  • Docker
  • Kubernetes(コンテナオーケストレーション)

用語の整理:

  • ゲストOS:仮想マシンの中で動くOS
  • ハイパーバイザー:仮想マシンを直接管理するソフトウェア
  • コンテナ:ホストOS上で分離された軽量なアプリ実行環境
  • コンテナエンジン:コンテナを作成・管理するソフト(Dockerなど)

6. まとめ:パッケージ管理と仮想化は「Linux運用の土台」

最後に、ここまでの内容をコンパクトに振り返ります。

 用語の整理

  • パッケージ管理:ソフトのインストール・更新・削除・依存解決を行う仕組み
  • dpkg / APT:Debian系のパッケージ管理
  • RPM / Yum / DNF / ZYpp:RPM形式のパッケージ管理
  • 仮想化:ソフトウェアでリソースを仮想的に構成する技術
  • ホスト型 / ハイパーバイザー型 / コンテナ型:代表的な3つの方式

 コマンドのポイントだけ再確認

  • dpkg:.deb を直接触る
  • apt-get, apt-cache, apt:APTでのインストール・検索・更新
  • rpm:.rpm を直接触る
  • yum, dnf:RPMの依存関係込みのパッケージ管理
  • zypper:openSUSE のパッケージ管理
created by Rinker
¥3,300 (2025/12/01 06:52:13時点 楽天市場調べ-詳細)
関連記事