RHEL 基礎 #1 RHEL とは — Fedora から RHEL まで、そして AlmaLinux と Rocky Linux

読了 16分

会社のサーバーに SSH で入ったとき、一番よく出会う Linux は RHEL — またはその互換 OS の AlmaLinux / Rocky / Oracle Linux です。Ubuntu で Linux を覚えた人でも、会社の環境ではほぼ必ずこの系列に出会うことになります。apt が効かず、ufw もなく、慣れた命令の半分くらいが別の名前になっているその瞬間のために — このシリーズはレッドハット系列の地図と、RHEL マシン一台を運用するのに必要なものを整理します。

Linux トラックは全 6 シリーズ 62 編で、その最初のシリーズが RHEL 基礎 7 編です。

  • #1 RHEL とは — Fedora から RHEL まで、そして AlmaLinux と Rocky Linux ← この記事
  • #2 セットアップ — RHEL 9 インストール、Subscription Manager、初ログイン
  • #3 dnf とパッケージ管理 — repo、modules、AppStream
  • #4 systemd 入門 — サービス、target、journalctl
  • #5 ユーザー/グループ/権限 — UID/GID、sudo、ACL
  • #6 ファイルシステムの基本 — XFS、mount、/etc/fstab
  • #7 基本セキュリティ — firewalld、SSH ハードニング

この記事は レッドハット系列の形その中で RHEL がどこに置かれるか を押さえる記事です。コンソールに入る前に頭の中にあるべき地図ですね。手は #2 から動きます。

「Linux って全部同じじゃないんですか?」 #

Ubuntu で Linux を始めた人が会社のサーバーに入ってみると戸惑います。apt が効きません。/etc/apt/sources.list がありません。代わりに dnf という見慣れない命令が入っていて、パッケージ名も微妙に違います。同じ Linux なのに、なぜ違うのでしょうか?

Linux は カーネル (Linux) + ユーザー領域 (userland) + パッケージマネージャ + ブート/サービス管理 をまとめた一つの塊で、この塊をどうまとめたかによって ディストリビューション (distribution, distro) が分かれます。大きく二つの系統で見ると次のようになります。

Linux ディストリビューションの二大系統
                  Linux Kernel
        ┌──────────────┴──────────────┐
        │                             │
   Debian 系列                  Red Hat 系列
   (.deb / apt)                  (.rpm / dnf)
        │                             │
   ┌────┴─────┐                  ┌────┴────────────┐
   │          │                  │                 │
 Debian    Ubuntu              Fedora            RHEL
            │                                      │
         Linux Mint              ┌──────────┬──────┴──────┬─────────┐
         Pop!_OS              CentOS    AlmaLinux    Rocky      Oracle
                              Stream                            Linux
  • Debian 系列 — Debian、Ubuntu、Mint。パッケージは .deb、マネージャは apt。デスクトップ・個人サーバー・クラウドで一番よく出会う系統。
  • Red Hat 系列 — RHEL、Fedora、CentOS Stream、AlmaLinux、Rocky、Oracle Linux。パッケージは .rpm、マネージャは dnf (旧 yum)。エンタープライズ / データセンター / 通信・金融 で事実上の標準。

二つの系統はコマンドが違い、ディレクトリ慣習が違い、デフォルトで入っているツールも違います。だから片方だけ知っていると反対側のサーバーで手が止まってしまいます。このシリーズは Red Hat 系列 を扱います。Ubuntu を知っているなら コマンド辞書を新しく覚える程度 の量で、知らなくても最初から追いつけるように解いていきます。

エンタープライズ Linux が別にある理由 #

「Linux は無料なのに、なぜお金を払って RHEL を使うのか?」が一番よく出る質問です。答えは OS ではなく保証 (guarantee) を買う という側に近いです。

大企業が Linux の上にシステムを乗せるときにぶつかる要求はこうです。

  • 10 年保証 — 一度入れた OS が 10 年間セキュリティパッチを受け取れるという約束。データセンター / 医療 / 金融は一度検証した環境を簡単には変えられません。
  • 互換性認証 — Oracle DB、SAP、IBM Db2、VMware、NVIDIA GPU ドライバといった製品が「RHEL の上で動く」ことを公式に保証します。Ubuntu で同じものを使っていて問題が出るとベンダーから「サポート対象外です」で終わるケースが多いです。
  • 24/7 サポート — 深夜 3 時の障害でも電話一本でエンジニアが付く契約。
  • コンプライアンス — FIPS、Common Criteria、PCI-DSS、HIPAA といった規格を OS レベルで認証してあります。Ubuntu に OpenSCAP で自分で合わせる手間とは比べ物になりません。

個人 / スタートアップ / モダンなクラウドワークロードにはこういう要求がほぼありません。だから Ubuntu / Alpine / Amazon Linux のほうが自然です。逆に 銀行・通信会社・航空・政府 に入るとほぼ必ず RHEL またはその互換ディストリが入っています。OS そのものが SLA の一部 になる環境です。

このシリーズが RHEL を扱う理由は単純です。お金をもらって働く Linux エンジニアが一番よく出会う環境 だからです。

Red Hat ファミリー — Fedora → CentOS Stream → RHEL #

Red Hat という会社 (今は IBM の子会社) が作る Linux は 一つではありません。三つが一つの流れで結びついています。

アップストリーム → ダウンストリーム
   ┌──────────┐    ┌──────────────┐    ┌────────┐    ┌──────────────────┐
   │  Fedora  │ →  │ CentOS Stream│ →  │  RHEL  │ →  │ AlmaLinux/Rocky  │
   │ (実験室) │    │ (プレビュー) │    │ (商品) │    │ (自由クローン)   │
   └──────────┘    └──────────────┘    └────────┘    └──────────────────┘
        ↑                  ↑                ↑                  ↑
   6ヶ月サイクル      ローリング (6ヶ月~)  10年 LTS         10年 LTS
   最新の全て        次の RHEL マイナーの  有料 / 無料     無料
                     プレビュー                          (RHEL 1:1 クローン)

Fedora — 実験室 #

Red Hat が支援する コミュニティディストリビューション です。6 ヶ月サイクルで新バージョンが出て、新カーネル・新 GNOME・新 systemd・新コンパイラを真っ先に体験できます。サポート期間は 13 ヶ月程度と短いです。開発者デスクトップや新機能を先に試す用途 です。運用サーバーに入れるには変動が激しすぎます。

ここで検証された変化が次の段階に流れていきます。

CentOS Stream — プレビュー #

次の RHEL マイナー版 (例: 9.6) の作業空間です。ローリングモデルで、パッチが入ってくるたびにビルドされ続けて公開されます。RHEL の アップストリーム です。つまり RHEL 9.6 でリリースされる予定のものは、それより先に CentOS Stream 9 に入ります。

用途は テスト / 開発 / 認証環境 です。RHEL 互換 ISV が次のマイナー版で自社製品がちゃんと動くかを先に見るのに主に使います。運用に使う人もいますが (特にクラウド)、安定性より新パッチ寄りに少し傾いています。

このモデルは 2019 年の IBM による Red Hat 買収直後の 2020 年 に方向が大きく変わりました。それ以前は CentOS Linux という名前で RHEL の クローン の役割をしていました。この件は後でまとめて扱います。

RHEL — 商品 #

Red Hat Enterprise Linux です。Red Hat が正式に販売・サポートする 有料 ディストリビューションです。メジャー版 (7 / 8 / 9 / 10) ごとに 10 年フルライフサイクル を約束します (必要なら ELS で +4 年延長)。

  • Full Support (5 年) — 新機能、マイナーアップデート、すべてのパッチ
  • Maintenance Support (5 年) — セキュリティ / 重要バグパッチのみ
  • ELS (+4 年) — 追加費用でセキュリティパッチをさらに

この 10~14 年という時間が、エンタープライズが RHEL にお金を払う最大の理由です。一度認証・検証した OS をそれだけ長く使えるという意味です。

このシリーズは RHEL 9 を基準に進めます。2026 年現在 RHEL 10 もリリース済みですが、運用環境の多くはまだ 9 にあり、9 のほうが資料と認証も多く積み上がっています。9 と 10 の違いはシリーズの随所で触れていきます。

CentOS 騒動 — そして AlmaLinux/Rocky の登場 #

Red Hat エコシステムの地図を描くとき、2020 年 12 月 8 日 という日付を外せません。この日 Red Hat が発表した一つの決定で市場の形が丸ごと変わりました。

その前 — CentOS Linux があった立ち位置 #

元々 CentOS Linux (Community Enterprise OS) は RHEL のソースコードを同じようにビルドした無料クローン でした。RHEL 7 が出れば数日~数週間後に CentOS 7 がほぼ同じパッケージで出ました。商標だけ抜けて機能は 1:1 でした。

そのため多くの会社がこう運用していました。

  • 開発 / ステージング / サイドワークロード → CentOS Linux (無料)
  • 本気の SLA がかかった運用 → RHEL (有料)

同じ OS の上で同じコマンドで仕事ができ、コストは必要なところだけ払うすっきりしたモデルでした。

その変更 #

2020 年末、Red Hat は CentOS Linux 8 のサポートを 2021 年 12 月 31 日に終了 すると発表しました。元の約束は 2029 年まででした。そして空いたその位置は上で見た CentOS Stream が代わりに埋めると明言しました。

覚えておいてください。Stream は RHEL の ダウンストリーム (クローン) ではなく アップストリーム (プレビュー) です。RHEL → CentOS だった流れが CentOS Stream → RHEL に矢印が逆転しました。つまり無料で RHEL 互換の運用サーバーを使っていた人々の選択肢が消えました。

決定の背景は長いです。「Oracle が CentOS でただ乗りしている」「Stream に集中すれば次の RHEL の品質がもっと良くなる」「有料に行けないところはどうせ行かない」といった会社側の説明があり、コミュニティの反発も大きかったです。是非はこの記事の役目ではありませんが、結果ははっきりしていました。無料の RHEL 互換 OS の座が空いた という点です。

その座を埋めた — AlmaLinux と Rocky Linux #

空いた座を二つのプロジェクトが素早く埋めます。両方とも RHEL と 1:1 バイナリ互換 を目指す無料ディストリビューションです。

AlmaLinux — CloudLinux という会社が支援して始まりました。発表は 2020 年 12 月、最初の安定版は 2021 年 3 月でした。今は非営利財団が運営しています。

Rocky Linux — CentOS の共同創設者 グレゴリー・カーチャー (Gregory Kurtzer) が直接始めました。名前はもう一人の共同創設者 Rocky McGaugh から取りました。最初の安定版は 2021 年 6 月に出ました。

両方とも RHEL の ソース RPM を受け取ってビルドし、ほぼ同じ成果物を作ります。技術的には事実上の差はありません。ポリシー・ガバナンス・財政モデルが少し違うだけです。韓国・米国・ヨーロッパの多くの会社が、かつての CentOS Linux 環境をこの二つのうちの一つに移しました。

2023 年の追加変化 — 2023 年 6 月、Red Hat は RHEL のソース RPM を以後は公開 git リポジトリ (git.centos.org) には載せず、有料サブスクライバのみアクセスできるところにだけ置くと発表しました。AlmaLinux/Rocky のビルド方式は一時揺らぎましたが、両プロジェクトは CentOS Stream + 公開パッチ を組み合わせる方式で素早く適応し、現在も問題なく動いています。AlmaLinux は 「バイナリ互換から ABI 互換へ」 と方針を少し変え (1:1 ビルドではないが同じバイナリインターフェースを保証)、Rocky はクラウドインスタンスから合法的に取得できるチャネルを経由して 1:1 ビルドを維持しています。

Oracle Linux も同じ系統 #

似た位置に Oracle Linux もあります。Oracle が 2006 年から作っている RHEL 互換ディストリビューション です。無料でダウンロードして使えて、有料サポートも別売りされています。Oracle DB が一番よく動く OS という肩書きもあります。

CentOS 騒動以後、Oracle は「うちは変えない」と最大のマーケティング機会を掴み、一部の環境 (特に Oracle DB が一緒に動く環境) では自然に乗り換える流れもあります。ただし日本市場では AlmaLinux / Rocky のほうがよく見ます。

一表で比較 #

ここまでを一表にまとめておきます。

ディストリ役割リリースサイクルサポート期間費用誰が使うか
Fedora実験室 (アップストリームのアップストリーム)6 ヶ月約 13 ヶ月無料開発者デスクトップ、新機能の試し
CentOS StreamRHEL のプレビューローリング約 5 年 (メジャーごと)無料RHEL ISV 認証、次期検証
RHEL商品 / 事実上の標準約 3 年 (メジャー)10 年 + ELS 4 年有料 (一部無料オプション)エンタープライズ、SLA 環境
AlmaLinuxRHEL の自由クローン (ABI 互換)RHEL に追従10 年無料かつての CentOS 環境
Rocky LinuxRHEL の自由クローン (1:1 互換)RHEL に追従10 年無料かつての CentOS 環境
Oracle LinuxRHEL 互換 + Oracle 親和RHEL に追従10 年無料 / 有料Oracle DB 環境、一部エンタープライズ

三つだけ覚えておけば十分です。

  1. Red Hat が直接作っているのは Fedora / CentOS Stream / RHEL の三つ。
  2. AlmaLinux と Rocky は RHEL を見てビルドした自由クローン。コマンド・動作は RHEL と事実上同じです。
  3. Oracle Linux も同じ系統 ですが Oracle が作って運営します。

このシリーズで 「RHEL がうんぬんかんぬん」 と書いた内容は ほぼ全て AlmaLinux / Rocky / Oracle Linux にもそのまま当てはまります。SELinux 設定、dnf コマンド、systemd の形、/etc の構造は全部同じです。

RHEL をどうやって手に入れるか #

「RHEL は有料だ」とだけ知っている人が多いのですが、実際には 個人が合法的に無料で使う道 がいくつかあります。

Red Hat Developer Subscription (個人無料) #

Red Hat が運営する 無料の開発者サブスクリプション です。developers.redhat.com で登録するだけです。

  • 無料
  • 一アカウントあたり 物理/仮想マシン 16 台まで RHEL をインストール可能
  • 個人学習 / 開発 / テスト用途 — 運用には使えない
  • セキュリティパッチも同じように受け取れる

このシリーズはこのサブスクリプションを基準に進めます。#2 で登録と最初の登録 (subscription-manager register) まで一緒に追いかけます。

クラウドで #

AWS / Azure / GCP すべてで 時間課金型 RHEL イメージ が提供されています。時間あたり数セントが OS 費用として上乗せされるモデルなので、別途契約なしですぐに RHEL を立ち上げられます。運用用途で一番よく使う方法です。

自社が既に RHEL サブスクリプションを持っているなら BYOS (Bring Your Own Subscription) でそのサブスクリプションをクラウドインスタンスに付け替えることも可能です。価格モデルだけ違って同じ OS です。

業務用 — 正式サブスクリプション #

運用には正式なサブスクリプションが必要です。価格は ソケット・VM・ノード基準の年単位課金 です。詳細は会社の営業が扱うので、このシリーズでは登録までを見ます。

学習用に RHEL 自体をインストールしなくていい道 #

学習目的なら AlmaLinux / Rocky をインストールしても同じです。 以下のコマンドはすべて同じように動きます。

コマンドは三つとも同じように動く
sudo dnf install nginx
sudo systemctl enable --now nginx
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

このシリーズを追いかけながら 「RHEL は重くて負担」だと感じれば AlmaLinux または Rocky をインストールしてください。 違いはほとんどありません。RHCSA / RHCE 資格も基礎さえ押さえれば、二つの OS の上でそのまま準備できます。

RHEL 9 — どんな形か #

このシリーズが扱う RHEL 9 の大きな特徴を先に少し見ておきます。詳細はシリーズの中で出会います。

項目RHEL 9 の選択シリーズ回
パッケージ管理dnf (Python で書き直した yum)#3
パッケージカタログAppStream (モジュール化された二つ目のリポジトリ)#3
サービス管理systemd (単一 PID 1)#4
ログjournald + journalctl#4
権限モデルユーザー/グループ + sudo + SELinux (デフォルト Enforcing)#5、中級で深く
デフォルトファイルシステムXFS (ext4 もサポート)#6
ファイアウォールfirewalld (iptables の上の抽象化)#7
コンテナPodman / Buildah / Skopeo (Docker デーモンなし)中級で
ネットワークNetworkManager + nmcli中級で

ここで Ubuntu と一番差が出る点を挙げると:

  • aptdnf — 一番よく出会う違い。コマンド辞書の半分はここから来ます。
  • ufwfirewalld — ファイアウォール抽象化が違います。zone ベースで考えるのが RHEL 流。
  • SELinux がデフォルト Enforcing — Ubuntu は AppArmor が補助役ですが、RHEL は SELinux が最初から強制されます。「なぜ nginx が 80 ポートで上がらない?」の半分は SELinux ラベル問題です。
  • dockerpodman — RHEL は Docker デーモンを入れません (RHEL 8 から)。Podman は同じコマンドで使えるデーモンレスの代替です。Docker を知っていればそのまま使えます。

よくある誤解 #

「RHEL って古い・保守的なのでは?」 #

部分的には合っています。RHEL は 検証された安定性 を優先するため、同時期の Fedora よりカーネル・言語のバージョンが通常 1~2 年ほど遅れています。ただし AppStream (#3) で新しいバージョンの Python・Node・PostgreSQL などをモジュール単位で選んでインストールできます。「OS の安定性はそのまま、言語・DB だけ最新」が可能です。

「CentOS が死んだから RHEL も近いうち死ぬのでは?」 #

CentOS Linux が死んだだけで、RHEL 自体はその決定で むしろ生き返りました。無料クローンが消えたことで有料サブスクリプション売上が増え (IBM 買収の本来の動機)、同時に AlmaLinux / Rocky が互換の座を埋めたので RHEL 互換エコシステムはそのまま です。RHEL 自体のライフサイクル約束 (10 年) も変わりません。

「運用に RHEL 使わなくてもいいのでは?」 #

小さなチーム / モダンクラウド / コンテナワークロードなら Ubuntu・Amazon Linux のほうが自然です。RHEL が必要なのは 長期保証 / コンプライアンス / ベンダー認証 がかかった環境です。自分が働く環境がそこに入っているかどうかで判断すれば良いです。

「RHEL だけ知っていれば Ubuntu でも通じる?」 #

通じます。70~80% はそのまま です。dnfaptfirewalldufw、SELinux ↔ AppArmor くらいが違うコマンドで、systemd / ディレクトリ構造 / ユーザー権限 / ネットワーク / SSH 周りはほぼ同じです。このシリーズを終えると Ubuntu サーバーの前に座っても大きく戸惑わないはずです。

シリーズで扱うこと — そして扱わないこと #

このシリーズ (基礎 7 編) は 一人で RHEL マシン一台を運用できるレベル まで押さえます。インストールして、パッケージを扱って、サービスを立ち上げて、ユーザーを作って、ディスクを足して、ファイアウォールを閉じる作業まで。

扱わない部分は次のシリーズに引き継がれます。

テーマシリーズ
SELinux 深掘り、LVM、Stratis、NFS、NetworkManagerRHEL 中級
ブート / カーネルチューニング / 性能解析 / OpenSCAPRHEL 上級
Web / DB / Podman 運用、Cockpit、Ansible 自動化RHEL 実践
RHCSA (EX200) 資格RHCSA シリーズ
RHCE (EX294) 資格 — Ansible 自動化RHCE シリーズ

このシリーズだけ終えれば、会社のサーバーに SSH で入って怖がらない程度にはなります。

まとめ #

この記事で押さえた絵:

  • Linux は Debian 系列 (.deb / apt)Red Hat 系列 (.rpm / dnf) の二大系統に分かれます。このシリーズは後者を扱います。
  • エンタープライズ Linux は OS ではなく 10 年保証 / 認証 / 24/7 サポート を買うものです。だから別に存在します。
  • Red Hat が直接作っているのは Fedora (実験室) / CentOS Stream (プレビュー) / RHEL (商品) の三つ。矢印の方向は Fedora → Stream → RHEL
  • 2020 年の CentOS Linux 終了 で RHEL の無料クローンの座が空き、AlmaLinux と Rocky Linux がその座を埋めました。コマンド・動作は RHEL と事実上同じです。Oracle Linux も同じ系統です。
  • 個人は Red Hat Developer Subscription で RHEL を無料で 16 台まで使えます。負担なら AlmaLinux/Rocky を使っても同じです。
  • RHEL 9 の形dnf + AppStream / systemd / SELinux Enforcing / XFS / firewalld / Podman。Ubuntu と違う点は主にこの数個です。
  • 何より、このシリーズの内容は AlmaLinux / Rocky / Oracle Linux にもそのまま適用 されます。

次 — RHEL 9 インストールと初ログイン #

全体の流れは把握しました。今度は本物の RHEL マシンを一台立ち上げる番です。

#2 セットアップ — RHEL 9 インストール、Subscription Manager、初ログイン では (1) RHEL 9 ISO を受け取る二つの道(2) UTM / VirtualBox / VMware で仮想マシンにインストール(3) Anaconda インストーラを追う流れ(4) subscription-manager register で初登録(5) 初ログイン直後の細かい調整 (タイムゾーン、hostname、初ユーザー) までを一度に押さえます。AlmaLinux / Rocky で追いかける方も同じ流れを追えるよう、違いも一緒に挙げておきます。

X