CentOS終了、手元のサーバーはどうする?版ごとの期限と4つの移行策
CentOS 7、8、Stream 8、Stream 9のどれが動いているかを確かめ、yumが止まる理由とvault.centos.orgでの一時復旧、ELevateでのAlmaLinux移行、国内の延長サポート、作り直しの判断基準を順に解説します。
CentOS 終了で、手元のサーバーに何が起きているか
CentOS 終了とは、CentOS Linux 7 と 8 の更新が止まり、公式ミラーからリポジトリが消えたことを指します。サーバーは今も動きます。しかし、セキュリティ修正はもう届きません。やるべきことは、どの CentOS かを確かめ、移行先を決めることです。移行が終わるまでの間は、yum を動く状態に戻しておきます。
CentOS がなぜ終わったのかは、Red Hat、CentOS、Rocky Linux、AlmaLinux の歴史にまとめています。この記事では「では目の前のサーバーをどうするか」だけを扱います。前任者から引き継いだ社内サーバーで、構成の記録がほとんど残っていない場合を想定しています。
まず、どの CentOS が動いているかを確認する
CentOS には4つの系統があります。期限も移行の道も、系統ごとに違います。最初にバージョンを確認してください。
cat /etc/centos-release
rpm -E %rhel1行目の出力で、系統が分かります。
CentOS Linux release 7.9.2009 (Core)なら CentOS 7 です。CentOS Linux release 8.5.2111なら CentOS 8 です。CentOS Stream release 8なら CentOS Stream 8 です。CentOS Stream release 9なら CentOS Stream 9 です。
2行目の rpm -E %rhel は、もとになった RHEL(Red Hat Enterprise Linux)のメジャーバージョンを、7 や 8 のように数字だけで返します。
「Linux」と「Stream」の違いは大事です。CentOS Linux は、RHEL が出たあとに作られた複製でした。CentOS Stream は、RHEL の次のマイナーリリースに入る予定の変更を先に受け取る系統です。同じ「8」でも中身が違うため、移行の手順も変わります。
CentOS の各バージョンはいつ終了したか
2026年10月1日に centos.org で確認した日付は次のとおりです。
- CentOS Linux 7: 2024年6月30日に EOL(End of Life、サポート終了)。
- CentOS Linux 8: 2021年12月31日に EOL。
- CentOS Stream 8: 2024年5月31日にビルド終了。
- CentOS Stream 9: 2027年5月31日に終了予定。RHEL 9 のフルサポート期間の終わりに合わせた日付です。
確認した時点で更新が届いているのは Stream 9 だけです。ほかの3つには、もう修正が来ません。Stream 9 にも期限があるため、移行の計画は今から立てておくべきです。
yum が急に動かなくなるのはなぜか
多くの人が最初に気づく症状は、yum update の失敗です。CentOS 7 では次のように表示されます。
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
Cannot find a valid baseurl for repo: base/7/x86_64原因は、CentOS のミラーネットワークが廃止されたことです。/etc/yum.repos.d/ の設定ファイルは、mirrorlist.centos.org にミラーの一覧を問い合わせます。この名前はもう DNS で引けません。そのため yum は、パッケージの取得先を1つも得られません。
CentOS 8 と Stream 8 では、表示が少し違います。
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist仕組みは同じです。ミラーの一覧が空なので、dnf は取得先を決められません。
この状態でも、動いているサービスはすぐには止まりません。ただし、パッケージを1つ追加することも、移行ツールを入れることもできません。どの移行策を選んでも、まずリポジトリの向き先を直す必要があります。
移行のための一時措置として vault.centos.org に向ける
終了したリリースのパッケージは、vault.centos.org に保管されています。設定ファイルの mirrorlist= を無効にし、baseurl= を vault に向けます。これで yum は再びパッケージを取得できます。
sudo cp -a /etc/yum.repos.d /root/yum.repos.d.bak
sudo sed -i -e 's/^mirrorlist=/#mirrorlist=/' -e 's|^#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|' /etc/yum.repos.d/CentOS-*.repo
sudo yum clean all
sudo yum makecacheyum makecache がエラーなしで終われば成功です。続けて yum repolist を実行すると、base や BaseOS などのリポジトリにパッケージ数が表示されます。うまくいかない場合は、1行目で取ったバックアップを /etc/yum.repos.d に戻せば元の状態に戻ります。
この書き換えは CentOS 7、CentOS 8、Stream 8 のどれでも使えます。vault には centos/7/、centos/8/、centos/8-stream/ というディレクトリがあります。設定ファイルの中の変数が、そのままこれらのパスに展開されるためです。
注意点が1つあります。vault のトップページには、このサーバーにはセキュリティ更新を入れないと明記されています。つまり vault に向けても、サーバーは安全になりません。最後の移行に必要なパッケージを取るための橋渡しと考えてください。使い続けるための手段ではありません。
CentOS 7 から ELevate で移るなら AlmaLinux の el7 ミラーを使う
CentOS 7 から AlmaLinux 8 へ移る予定なら、AlmaLinux が ELevate 用に公開している CentOS 7 のミラーも使えます。AlmaLinux の ELevate クイックスタートガイド(2026年10月1日に確認)は、最初の手順として CentOS-Base.repo を次のコマンドで置き換えます。
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo置き換えたファイルでは、baseurl が http://el7.repo.almalinux.org/centos/$releasever/os/$basearch/ などを指します。署名の確認には、CentOS 7 の鍵 RPM-GPG-KEY-CentOS-7 をそのまま使います。中身は CentOS 7 のパッケージです。vault と同じで、新しい修正が届くわけではありません。
CentOS からの移行策は4つある
選べる道は大きく4つです。その場でのアップグレード、Stream から Rocky Linux への切り替え、有償の延長サポート、そして新しいサーバーでの作り直しです。順に説明します。
1. ELevate で AlmaLinux にその場でアップグレードする
ELevate は、AlmaLinux プロジェクトが提供するインプレース移行の仕組みです。インプレースとは、OS を入れ直さず、同じディスクの上でパッケージを入れ替える方法を指します。中身は Red Hat の leapp というアップグレードツールで、それを RHEL 以外の系統でも使えるようにしています。
始める前に、スナップショットかバックアップを必ず取ってください。また、プロバイダーの Web コンソールにログインできることを確かめてください。アップグレード中の再起動では、しばらく SSH が使えないためです。
CentOS 7 の場合、上の el7 ミラーに切り替えたあと、公式ガイドの手順は次のとおりです。まず、今の CentOS 7 を最終状態まで更新します。
sudo yum update -y
sudo reboot次に ELevate のリポジトリと leapp を入れ、事前チェックを実行します。
sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
sudo yum install -y leapp-upgrade leapp-data-almalinux
sudo leapp preupgradeleapp preupgrade はシステムを変更しません。問題点を調べて、結果を /var/log/leapp/leapp-report.txt に書き出します。この中に inhibitor(アップグレードを止める項目)が1つでも残っていると、アップグレードは始まりません。報告書を上から読み、inhibitor を1つずつ解消してください。
公式ガイドは、CentOS 7 でよく出る inhibitor を解消する3行を示しています。
sudo rmmod pata_acpi
echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True2行目は、root での SSH ログインを明示的に許可する設定です。アップグレードが終わったら、/etc/ssh/sshd_config のこの行を自分の運用に合わせて見直してください。
leapp preupgrade をもう一度実行し、inhibitor が消えたら本番です。
sudo leapp upgrade
sudo reboot再起動すると、ELevate-Upgrade-Initramfs という起動項目が自動で選ばれます。そこでパッケージの入れ替えが進みます。この間は SSH に入れないため、進み具合は Web コンソールで見てください。終わったら、次の2つを確認します。
cat /etc/redhat-release
rpm -qa | grep '\.el7' | sort1行目の出力が AlmaLinux release 8 で始まれば成功です。2行目には、移行されずに残った CentOS 7 のパッケージが表示されます。ここに出たものは、自分で入れ替えるか削除するかを判断してください。
AlmaLinux 8 にも期限があります。同じ ELevate で、8 から 9、9 から 10 へと進めます。9 から 10 への手順はELevate で AlmaLinux 9 を 10 にアップグレードする手順で説明しています。CentOS 7 から 10 まで行くには、この作業を3回繰り返すことになります。
CentOS 8 の場合は、AlmaLinux の almalinux-deploy スクリプトで AlmaLinux 8 に切り替えられます。README(2026年10月1日に確認)によると、条件は CentOS 8.4 以上で、事前に 8.5 まで更新することが推奨されています。先に vault への切り替えを済ませてから実行してください。
curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
sudo bash almalinux-deploy.sh終わったら、上と同じく cat /etc/redhat-release で AlmaLinux 8 になったことを確かめます。
2. CentOS Stream から Rocky Linux に切り替える
Stream 8 と Stream 9 は、RHEL 互換のディストリビューションに切り替えられます。Stream のパッケージは、RHEL より少し先に進んでいることがあります。そのため切り替えでは、一部のパッケージが互換側のバージョンに入れ替わります。手順と注意点はCentOS Stream から Rocky Linux へ移行する手順にまとめています。
Stream 8 は、すでにミラーから外れています。切り替えの前に、上の vault の手順で dnf を動く状態にしてください。Stream 9 は2027年5月31日まで更新が届く予定なので、検証環境で一度試してから本番に進む時間があります。
AlmaLinux と Rocky Linux のどちらに移るか迷う場合は、Rocky Linux と AlmaLinux の違いを読んでください。どちらも RHEL 互換で、普段の操作はほぼ同じです。
3. 有償の延長サポートで移行までの時間を確保する
すぐに移行できない事情がある場合は、延長サポートという選択肢があります。英語の解説ではほとんど触れられませんが、国内ではサイバートラストが CentOS の延長サポートを日本語で提供しています。サポート終了後も、修正パッケージを yum で取得できる専用リポジトリと、技術問い合わせが含まれます。
終了日には注意が必要です。2026年10月1日にサイバートラストの公開資料を確認したところ、日付は1つにまとまっていませんでした。同社の CentOS 延長サポートのカタログ(PDF)では、CentOS 7 のセキュリティアップデート提供期日を「2028年6月末」としています。一方、小規模向けの「CentOS 延長サポート LITE」の発表時には、CentOS 7 の修正パッケージ提供を2027年1月31日までとする報道がありました。プランによって期限が違う可能性があります。契約前に、自分が申し込むプランの期限を見積書か契約書で確かめてください。
同じカタログでは、CentOS 8 の延長サポートは「2026年1月末」までとされています。この記事を書いた時点で、その期限はすでに過ぎています。
延長サポートは、移行の時間を買う手段です。問題を解決するものではありません。期限が来れば、結局どこかへ移る必要があります。
もう1つ、国内ならではの移行先があります。サイバートラストが開発する MIRACLE LINUX です。RHEL 互換で、ライセンスは無償です。2026年10月1日時点の同社の製品ページには、MIRACLE LINUX 8 と 9 が載っていました。日本語のサポート窓口がある互換 OS を求める組織には、AlmaLinux や Rocky Linux と並ぶ候補になります。
4. Rocky Linux か AlmaLinux 9/10 で新しく作り直す
最後の道は、新しいサーバーを Rocky Linux か AlmaLinux の 9 または 10 で立ち上げ、データだけを移す方法です。古いサーバーは切り替えが終わるまで動かしておけます。そのため、失敗しても元に戻せます。SSD Nodes では、Rocky Linux と AlmaLinux のどちらも新しい VPS の OS として選べます。
全体の流れはサーバーを新しい VPS に移行する手順で説明しています。ディレクトリをまとめて送るだけなら、tar と SSH でディレクトリをそのまま転送する方法が簡単です。新しいサーバーを公開する前には、新しい Rocky Linux サーバーの初期設定とセキュリティ対策を済ませてください。
インプレースより作り直しが向いているのはどんなときか
インプレースは手軽に見えます。しかし、次の2つに当てはまるなら、作り直しのほうが早く確実です。
アプリが EOL の言語ランタイムに依存している場合。 CentOS 7 に標準で入っている PHP は 5.4、Python は 2.7 です。どちらも、開発元のサポートはずっと前に終わっています。AlmaLinux 8 の PHP は 7 系以降で、PHP 5.4 向けに書かれたコードはそのままでは動かないことがあります。RHEL 9 系には Python 2 のパッケージがありません。つまり、OS をその場で上げても、アプリの改修は避けられません。改修するなら、きれいな新環境で行うほうが確認しやすくなります。
leapp が対応付けられないサードパーティのリポジトリがある場合。 leapp は、移行データを持っているリポジトリのパッケージしか新しい版に置き換えられません。知らないリポジトリから入ったパッケージは、el7 のまま残るか、inhibitor になります。引き継いだサーバーでは、誰がどのリポジトリを足したか分からないことがよくあります。
どちらに当てはまるかは、次のコマンドで調べられます。
yum repolist enabled
rpm -qa --qf '%{NAME} %{VENDOR}\n' | grep -v 'CentOS' | sort
systemctl list-unit-files --state=enabled
php -v
python -V1行目は、有効なリポジトリの一覧です。base、updates、extras 以外の名前があれば、それがサードパーティです。2行目は、提供元が CentOS 以外のパッケージを一覧にします。EPEL のパッケージなら Fedora Project と表示されます。提供元が空欄の行は、誰かが手で入れた RPM であることが多いです。3行目は、起動時に動くサービスの一覧で、新しいサーバーで再現すべきものの目録になります。最後の2行で、言語ランタイムのバージョンが分かります。php が見つからないと表示されれば、PHP は入っていません。
一覧が短く、すべて CentOS と EPEL のパッケージなら、インプレースで十分です。一覧が長いか、提供元の分からないパッケージが多いなら、作り直しを選んでください。
バージョン別の判断の目安
- CentOS 7: まず el7 ミラーか vault で
yumを直します。構成が単純なら ELevate で AlmaLinux 8 へ移り、その後 9、10 と進みます。古い PHP や Python 2 に依存しているなら、9 か 10 で作り直します。 - CentOS 8: vault で
dnfを直し、almalinux-deployで AlmaLinux 8 に切り替えます。そのあと ELevate で 9 へ進みます。CentOS 8 の延長サポートは期限を過ぎているため、時間を買う選択肢はありません。 - CentOS Stream 8: vault で
dnfを直し、Rocky Linux か AlmaLinux に切り替えます。作り直しも十分に現実的です。 - CentOS Stream 9: 更新は2027年5月31日まで届く予定です。急ぐ必要はありませんが、その日までに Rocky Linux か AlmaLinux への切り替えを終えておきます。
どの道を選ぶ場合でも、最初の作業は同じです。バックアップを取り、今の構成を書き出します。それが済めば、失敗しても戻れる状態で移行を始められます。
FAQ
CentOS 7 のサーバーは今すぐ止めなければいけませんか?
止める必要はありません。サーバーはサポート終了後も動き続けます。問題は、2024年6月30日以降、新しく見つかった脆弱性の修正が公式には一切届かないことです。インターネットに公開しているサーバーなら、移行か延長サポートの契約を早めに決めてください。社内ネットワークだけで使っている場合でも、移行の計画は必要です。
vault.centos.org に向ければ CentOS を使い続けられますか?
使い続ける手段にはなりません。vault は終了したリリースのパッケージを保管しているだけで、セキュリティ更新は入りません。vault に向ける目的は、yum を動かして移行ツールや必要なパッケージを入れることです。移行が終わるまでの一時的な設定と考えてください。
CentOS 7 の延長サポートはいつまでですか?
サイバートラストの CentOS 延長サポートのカタログでは、CentOS 7 のセキュリティアップデート提供期日を2028年6月末としています(2026年10月1日に確認)。ただし、小規模向けの CentOS 延長サポート LITE については、修正パッケージ提供を2027年1月31日までとする報道もあります。プランによって期限が違う可能性があるため、契約前にサイバートラストに直接確認してください。
CentOS 7 から AlmaLinux 9 や 10 へ直接アップグレードできますか?
ELevate では直接はできません。CentOS 7 から AlmaLinux 8 へ移り、次に 8 から 9、9 から 10 と、1つずつメジャーバージョンを上げます。毎回 leapp preupgrade で inhibitor を確認し、解消してから進めます。3回の作業が重いと感じるなら、AlmaLinux 9 か 10 の新しいサーバーを用意してデータを移すほうが早いこともあります。
CentOS Stream 9 はいつまで使えますか?
centos.org によると、CentOS Stream 9 の終了予定日は2027年5月31日です(2026年10月1日に確認)。これは RHEL 9 のフルサポート期間の終わりに合わせた日付です。その日を過ぎると更新が届かなくなるため、それまでに Rocky Linux か AlmaLinux への切り替えを終えておいてください。