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.repoCentOS 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