サイト内検索

CentOS 7 から AlmaLinux 8 への移行方法


CentOS 7は2024年6月30日をもってサポート終了(End of Life)となりました。これは、CentOS 7のリポジトリに含まれるさまざまなアプリケーションに対する更新、セキュリティ修正、バグパッチが今後提供されないことを意味します。サポート終了後のCentOS 7を本番環境で使用することは、セキュリティ上の脅威となり、システムが攻撃に対して脆弱になる可能性があります。では、解決策はあるのでしょうか?この記事では、CentOS 7からAlmaLinux 8への移行方法について探ります。

AlmaLinuxは、AlmaLinux OS財団によってRHELのソースコードから構築された企業向けLinuxオペレーティングシステムです。Red Hat Enterprise Linuxとバイナリ互換性があるため、終了間近のCentOS Linuxの理想的な代替となります。この記事では、現在CentOS 7を使用しているシステムを、現在サポート中でオープンソースOSモデルに従っているAlmaLinux 8に移行するために必要な手順を共有します。

どうやって始めればいいですか?

もしあなたがCentOS 7を積極的に使用しているなら、そのリポジトリが機能しなくなったことに気付いているはずです。幸いなことに、Vaultリポジトリを有効にしてシステムを更新することはまだ可能です。CentOS 7 Vaultリポジトリを有効にする方法については、以下の記事を参照してください。

しかし、簡単にするために、ELevate と併用するために AlmaLinux が提供する CentOS 7 ミラーを使用できます:

sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo

CentOS 7 のリポジトリの問題を修正した後、AlmaLinux に切り替える前に、利用可能なアップデートをすべて適用してください。

sudo yum -y update

更新を成功させるには、システムの再起動が必要な場合があります。

sudo reboot

アップグレード後に設定された CentOS のベースリポジトリを削除してください。

rm -rf  /etc/yum.repos.d/CentOS-*

CentOS 7 システムをバックアップする

バックアップはデータ損失を防ぐための有効な手法です。利用可能なバックアップソリューションを使用して、システムのバックアップを行いましょう。仮想環境では、OSをAlmaLinuxにアップグレードする前に、仮想マシンのスナップショットを取得することができます。

システムバックアップに役立つツールには、次のようなものがあります。

  • レスティック
  • ボーグ
  • コピー
  • クロノペテ

自分のニーズに合ったものを選ぶために、さまざまなツールを試してみることができます。

AlmaLinux Elevate ツールをダウンロード

既存の移行ツールを活用することは、自分でスクリプトを作成するよりも効率的で、時間がかかりエラーが起こりやすいという問題を避けられます。何かが既に存在するのに再発明する必要はありません。素晴らしいAlmaLinuxのチームがAlmaLinux ELevateツールを作成しました。このスクリプトはAlmaLinux ELevateツールを使用しており、このツールはleappモダナイゼーションフレームワークに基づいています。

ELevateも、移行プロセス中に以下のサードパーティリポジトリをサポートします。

  • EPEL
  • PostgreSQL
  • イムニファイ
  • KernelCare
  • MariaDB
  • nginx

GPGキーとプロジェクトリポジトリを含むelevate-releaseパッケージをインストールします:

sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm

リポジトリの設定が完了したら、アップグレードに必要な leapp パッケージをダウンロードしてください。

sudo yum install -y leapp-upgrade leapp-data-almalinux

実際にOSの移行を行う前に、preupgradeチェックを行うことが重要です。Leappユーティリティは、発生しうる問題と推奨される解決策を含む/var/log/leapp/leapp-report.txtファイルを作成します。

sudo leapp preupgrade

マイグレーションを試みる前に、生成されたレポートを必ず確認し、問題があれば修正してください。特に、サードパーティのリポジトリからインストールしたアプリケーションがある場合や、高度にカスタマイズされた CentOS 7 Linux システムで作業している場合は注意が必要です。

cat /var/log/leapp/leapp-report.txt

以下は、/var/log/leapp/leapp-report.txt ファイルの最も一般的な修正内容です。

sudo rmmod pata_acpi
echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True

ファイル全体を確認し、既知の頻発する問題やそれらを解決するための手順については、ELevateの「頻繁に発生する問題」ページを確認してください。

CentOS 7 から AlmaLinux 8 へのアップグレード

次の leapp upgrade コマンドを実行してアップグレードを開始します:

sudo leapp upgrade

アップグレードプロセスが完了するまで待ってください。Leapp は GRUB に ELevate-Upgrade-Initramfs という新しいエントリを追加します。

Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Complete!
====> * add_upgrade_boot_entry
        Add new boot entry for Leapp provided initramfs.
A reboot is required to continue. Please reboot your system.


Debug output written to /var/log/leapp/leapp-upgrade.log

============================================================
                           REPORT
============================================================

A report has been generated at /var/log/leapp/leapp-report.json
A report has been generated at /var/log/leapp/leapp-report.txt

============================================================
                       END OF REPORT
============================================================

Answerfile has been generated at /var/log/leapp/answerfile

アップグレードが完了したら、新しいOSを使用するためにシステムを再起動してください。

sudo reboot

システムを再起動した後、ログインして現在のOSバージョンを確認してください。

cat /etc/redhat-release
cat /etc/os-release

以前のOSバージョンからのログやパッケージの残りを確認することを忘れないでください。それらは手動で削除または更新することが強く推奨されます。

rpm -qa | grep el7

パッケージの詳細については、レポートを確認してください。

cat /var/log/leapp/leapp-report.txt
cat /var/log/leapp/leapp-upgrade.log