この記事はK4e Linux Distros Advent Calendar 2025の一日目の記事です
前書き
2024年 世界中のLinuxサーバに大きな転換点が訪れた。それは「CentOS7のサポート終了」。
CentOS は有償サポート付きのLinuxであるRed Hat Enterprise Linux(RHEL)と互換性を持ちながらも無料で使えるLinuxとして多くのサーバのOSとして採用され長年にわたって使用されていた。しかしCentOS Projectの方針転換によりVer.8までのCentOSのEOL、つまりサポート終了が発表され、別のRHEL互換を謳うOS、Rocky Linux、Alma Linux、Miracle Linuxなど、若しくは本家のRHELへの引っ越しを強いられた。
EOLを無視したままサポート期限2024年6月30日以降もCentOS7を使用し続けた人たちはその直前に発表されたOpenSSHの致命的な脆弱性「regreSSHion」に頭を悩ませることとなる。
巷では「CentOSはもうない」という人もいるが、厳密には誤りで「CentOS Linuxはもうない」が正しい。先ほどCentOSのサポート終了は「CentOS Projectの方針転換」といった。つまり、CentOS Projectはまだ現役で存在しており、本プロジェクトが提供しているLinuxディストリビューションがある。今日はその「CentOS Stream」について紹介する。
概要
RHEL の次期アップデートを日々先取りできる「公開された開発ライン」
- 系統: Red Hat系
- パッケージマネージャ: Dandified Yum(dnf)
- リリースモデル: 継続的リリース
- 想定用途: エンタープライズサーバ向け検証環境
CentOS Streamとは
CentOS Streamは、RHELが採用している継続的デリバリーのパイプライン上で、RHELに取り込まれる更新が段階的に投入されるブランチとして機能するディストリビューションです。CentOS Streamは以前のCentOSとは立ち位置が異なります。
継続的デリバリーとは
継続的デリバリーは、ソフトウェアを短いサイクルで開発・検証し、「いつでも安全にリリースできる状態」を維持する方式を指す開発アプローチです。言い換えれば、継続的デリバリーは「開発 → テスト → リリース準備」の流れを高速かつ安定に回し、かつ “いつでも本番に出せる状態” を保ち続けるための仕組みのことを言います。
詳しくはWikiを参照
RHELの機能検証版、というとFedoraを思い浮かべる人が多いでしょう。CentOS StreamとFedoraは、立ち位置こそ似ていますが、RHELのどれくらい上流にいるかが異なります。
引用元: Stef Walter "CentOS Stream is Continuous Delivery" (https://blog.centos.org/2020/12/centos-stream-is-continuous-delivery/)
Diagram licensed under CC BY-SA 4.0
https://creativecommons.org/licenses/by-sa/4.0/
上記の図がとてもわかりやすいです。
開発の流れとしては
- Fedoraがリリースされる
- Fedoraの特定バージョンからRHELの開発ブランチが切られる
- 次期RHELの開発版としてCentOS Streamが更新され始める
- ある時点のCentOS Streamを固定し、企業向け品質に調整したものをRHELとしてリリースする
となっています。Fedoraのリリース周期は曖昧で約半年、RHELのリリース周期はRHEL8から明確になり、メジャーバージョンが3年、マイナーバージョンが6ヶ月です。公式FAQからの引用で
Adhering to this faster and more predictable cadence means that we need a midstream development environment that anyone can contribute to. That environment is CentOS Stream.
引用元: FAQ: CentOS Stream Updates(https://www.redhat.com/en/blog/faq-centos-stream-updates?utm_source=chatgpt.com)
とあるようにFedoraをRHELのアップストリーム、RHELを安定版としたとき、CentOS StreamはRHELのミッドストリームとして、RHEL開発貢献の場として機能するようになりました。
CentOS Streamは開発中のRHELということでバグだらけかといえばそうではなく、上図の引用元ブログにおいて
“each change needs to be explicitly verified to a RHEL quality (mostly by Quality Engineering) before it can land in the RHEL nightly builds.”
“the RHEL nightly composes are already delivered in CentOS Stream.”
とあるようにRHELの品質保証(Quality Engineering)を通ったものだけが組み込まれ、CentOS Streamに流れて行っているようです。
CentOS は “RHEL と互換を目指す別の OS” ではなく、"RHEL の開発ラインそのもの"になったということです。
インストール~日本語入力まで
インストールしていきます。
どうにもProxmox VMと相性が悪かったためHyper Vで動作検証していきます。
仮想マシンにはCPUは8コア、メモリは8GB割り当てます。
GRUB画面
"Test this media & install CentOS Stream 10"
を選択します。上の"Install CentOS Stream 10"でもいいと思います。
言語設定
RHEL系お馴染みのインストーラが立ち上がります。Anacondaというインストーラです。日本語を選択。
必要な設定を埋めていきましょう。必須なのはインストール先の設定、アカウント設定です。
インストール先設定
インストールするストレージを選択します。細かいパーティション設定がしたければこちらで。今回はドライブ全体へのインストール+自動パーティション分け。
アカウント設定
ローカルアカウントを作ります。
rootアカウント無効の方がセキュアなんでしょうが、設定ミスによる詰みを防止するため、インストール直後はrootは用意しておくべきだと考えています。
ソフトウェアの選択
サーバ(GUI使用)がデフォルトで設定されています。GUIがいらなければ下のであれば最小限のインストールがよいと思います。今回は普段使い用に設定するのでワークステーションでのインストールを選びます。
インストール開始
インストール開始
終わったら再起動します。
GUI環境の確認
ログイン画面。CentOSだ…(感動)
ツアーが始まります。
初期インストール済みのアプリ
日本語入力設定をしましょう。
Fedora系の日本語入力はibus+ibus-mozcが鉄板ですが、RHEL10ではibus-mozcが標準レポジトリで消去されているようです。
参考 dnf search ibusの実行結果
kanade@linux:~$ dnf search ibus
CentOS Stream 10 - BaseOS 6.6 MB/s | 6.8 MB 00:01
CentOS Stream 10 - AppStream 2.7 MB/s | 3.4 MB 00:01
CentOS Stream 10 - CRB 883 kB/s | 765 kB 00:00
CentOS Stream 10 - Extras packages 13 kB/s | 7.9 kB 00:00
Extra Packages for Enterprise Linux 10 - x86_64 4.6 MB/s | 5.9 MB 00:01
============================= 名前 完全一致: ibus ==============================
ibus.x86_64 : Intelligent Input Bus for Linux OS
============================ 名前 & 概要 一致: ibus ============================
ibus-anthy.x86_64 : The Anthy engine for IBus input platform
ibus-anthy-python.noarch : Anthy Python files for IBus
ibus-chewing.x86_64 : The Chewing engine for IBus input platform
ibus-devel.x86_64 : Development tools for ibus
ibus-devel-docs.noarch : Developer documents for IBus
ibus-gtk3.x86_64 : IBus IM module for GTK3
ibus-gtk4.x86_64 : IBus IM module for GTK4
ibus-hangul.x86_64 : The Hangul engine for IBus input platform
ibus-libpinyin.x86_64 : Intelligent Pinyin engine based on libpinyin for IBus
ibus-libs.x86_64 : IBus libraries
ibus-libzhuyin.x86_64 : New Zhuyin engine based on libzhuyin for IBus
ibus-m17n.x86_64 : The M17N engine for IBus platform
ibus-panel.x86_64 : IBus Panel icon
ibus-setup.noarch : IBus setup utility
ibus-table.noarch : The Table engine for IBus platform
ibus-table-chinese.noarch : Chinese input tables for IBus
ibus-wayland.x86_64 : IBus IM module for Wayland
libusal-devel.x86_64 : Development files for libusal
libusb-compat-0.1.x86_64 : Compatibility shim around libusb-1.0 offering the old
: 0.1 API
libusb-compat-0.1-devel.x86_64 : Development files for libusb-compat-0.1
libusb-compat-0.1-tests-examples.x86_64 : Tests and examples for
: libusb-compat-0.1
libusb1-devel.x86_64 : Development files for libusb1
libusbmuxd-devel.x86_64 : Development package for libusbmuxd
libuser-devel.x86_64 : Files needed for developing applications which use
: libuser
=============================== 名前 一致: ibus ================================
ibus-table-chinese-array.noarch : Array input methods
ibus-table-chinese-cangjie.noarch : Cangjie based input methods
ibus-table-chinese-cantonese.noarch : Cantonese input methods
ibus-table-chinese-easy.noarch : Easy input method
ibus-table-chinese-erbi.noarch : Erbi input method
ibus-table-chinese-quick.noarch : Quick-to-learn input methods
ibus-table-chinese-scj.noarch : Smart Cangjie
ibus-table-chinese-stroke5.noarch : Stroke 5 input method
ibus-table-chinese-wu.noarch : Wu pronunciation input method
ibus-table-chinese-wubi-haifeng.noarch : Haifeng Wubi input method
ibus-table-chinese-wubi-jidian.noarch : Jidian Wubi 86 input method, JiShuang
: 6.0
ibus-table-chinese-yong.noarch : YongMa input method
ibus-typing-booster.noarch : A completion input method
libusal.x86_64 : Library to communicate with SCSI devices
libusb1.x86_64 : Library for accessing USB devices
libusbmuxd.x86_64 : Client library USB multiplex daemon for Apple's iOS devices
libusbmuxd-utils.x86_64 : Utilities for communicating with Apple's iOS devices
libuser.x86_64 : A user and group account administration library
=============================== 概要 一致: ibus ================================
libgusb.x86_64 : GLib wrapper around libusb1
python3-pyusb.noarch : Python bindings for libusb
おとなしくデフォルトでインストールされているAnthyを使います。
キーボード>入力ソース>入力ソースの追加
日本語>日本語(Anthy)を追加
Superキー(例えばWindowsキー)+Spaceで入力ソースの変更ができます。
RHEL基準でレポジトリの内容が決まっているのでなんでもdnf installでいれる、というのは難しいかもしれません。
まとめ
RHEL の次期アップデートを日々先取りできる「公開された開発ライン」
CentOS Projectは従来のCentOS Linux開発を打ち切り、RHELの継続的デリバリーとしてのCentOS Stream開発に集中する方針転換をしました。CentOS Streamは実運用サーバへの採用には向かないかと思いますが、
- RHELの動作を先取りして確認したい運用担当者
- RHEL向けのアプリ開発を行うアプリ開発者
- RHELのセキュリティ解析を行うエンジニア
- その他RHELのコントリビューター
などには最適なLinuxディストリビューションです。
以上 CentOS Streamの紹介でした。
明日はUbuntu Desktop Monthly Snapshotを紹介します。















