ご存知かもしれませんが、RHEL派生ディストリビューションのメジャーバージョン間で移行することはできませんでした。意味-CentOS7.xからCentOS8.xバージョンに直接アップグレードすることはできません。唯一の方法は、新規インストールでした。もう違います! ELevate を使用して、CentOS7.xから任意の8.xに簡単に移行できるようになりました。 道具。このガイドでは、AlmaLinuxELvateツールを使用してCentOS7をAlmaLinux8、CentOS Stream 8、Oracle Linux 8、およびRockyLinux8に移行する方法について説明します。
ELevateとは何ですか?
ELevateは、AlmaLinuxチームによって開発されたオープンソースの移行ツールです。これにより、RHELベースのディストリビューションのメジャーバージョン間を7.xから8.xバージョンに簡単かつスムーズに移行できます。
ELevateは、Red HatのLeappフレームワークと、コミュニティで作成されたライブラリおよびサービスを組み合わせて、それに必要な移行メタデータセットを提供します。
現在、CentOS7から次のOSへの移行をサポートしています。
- AlmaLinux OS 8
- CentOS Stream 8
- Oracle Linux 8
- Rocky Linux 8
移行はその場で実行できます。つまり、データと構成ファイルが保持されます。つまり、インストールされているすべてのアプリケーションと設定およびデータはそのまま残ります。ただし、ユーザーは強く推奨されます バックアップへ 移行を開始する前の重要なデータ。
ELevateは、Apache2.0ライセンスの下でリリースされたオープンソースプログラムです。
疑問に思っている人のために、ELevateの「EL」という文字は Enterprise Linuxの略です。 。
CentOS7の移行を開始する前に覚えておくべきこと
- 前述のように、バックアップすることを強くお勧めします。 重要なデータと設定。
- ライブマイグレーションはサポートされていません。システムが2回再起動します。重要なジョブ(スケジュールされたバックアップなど)が実行されていないことを確認してください。
- ELevateはまだ開発中です。したがって、本番環境で試す前に、仮想システムまたはサンドボックス環境で徹底的にテストすることをお勧めします。
新しくインストールしたCentOS7仮想マシンでELevateツールをテストしました。移行はスムーズでエラーがありませんでした。問題が発生した場合は、AlmaLinuxバグトラッカーやAlmaLinuxチャット移行チャネルに報告してください。
CentOS7システムの更新
最新のCentOS7.xブランチを実行していることを確認してください。そうでない場合は、次のコマンドを使用してCentOSシステムを更新します。
$ sudo yum update
$ sudo yum upgrade
システムを再起動して変更を適用します:
$ sudo reboot
コマンドを使用して、現在インストールされているCentOS7のバージョンを確認します。
$ cat /etc/centos-release CentOS Linux release 7.9.2009 (Core)
$ cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"
ご覧のとおり、私のシステムはCentOS7.9バージョンで実行されています。これは7.xブランチの最新バージョンです。
CentOS7をAlmaLinux8、CentOS 8、Rocky Linux 8、およびOracleLinux8に移行する
ステップ1:ELevateをインストールする
elevate-release
をインストールします コマンドを使用してCentOS7システムにパッケージ化します:
$ sudo yum install http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm
ステップ2:Leappと移行データをインストールする
elevate-release
パッケージはLeappを提供します ユーティリティと、EnterpriseLinux7.xを選択したEnterpriseLinux8.xバージョンに移行するために必要なデータ。
アップグレードするディストリビューションに応じて、次のパッケージのいずれかをインストールする必要があります。
- leapp-data-almalinux
- leapp-data-centos
- leapp-data-oraclelinux
- leapp-data-rocky
たとえば、CentOS7をAlmaLinux8に移行する場合 、次のパッケージをインストールする必要があります:
$ sudo yum install -y leapp-upgrade leapp-data-almalinux
CentOS7をCentOS8に移行する 、次のパッケージをインストールします:
$ sudo yum install -y leapp-upgrade leapp-data-centos
CentOS7をOracleLinux8に移行する 、次のパッケージをインストールします:
$ sudo yum install -y leapp-upgrade leapp-data-oraclelinux
CentOS7をRockyLinux8に移行する 、次のパッケージをインストールします:
$ sudo yum install -y leapp-upgrade leapp-data-rocky
これで、leap-upgrade
がインストールされました。 アップグレードするOSのパッケージと移行データ。
このガイドの目的のために、CentOS7をAlmaLinux8にアップグレードします。
ステップ3:アップグレード前のチェックを開始する
次に、次のコマンドを実行して、アップグレードが可能かどうかを確認します。
$ sudo leapp preupgrade
これにより、一連のアクションが実行され、アップグレードを実行できるかどうかが確認されます。
==> Processing phase `configuration_phase` ====> * ipu_workflow_config IPU workflow config actor ==> Processing phase `FactsCollection` ====> * scanmemory Scan Memory of the machine. ====> * source_boot_loader_scanner Scans the boot loader configuration on the source system. . . . ============================================================ UPGRADE INHIBITED ============================================================ Upgrade has been inhibited due to the following problems: 1. Inhibitor: Detected loaded kernel drivers which have been removed in RHEL 8. Upgrade cannot proceed. 2. Inhibitor: Multiple devel kernels installed 3. Inhibitor: Possible problems with remote login using root account 4. Inhibitor: Missing required answers in the answer file Consult the pre-upgrade report for details and possible remediation. ============================================================ UPGRADE INHIBITED ============================================================ Debug output written to /var/log/leapp/leapp-preupgrade.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
アップグレード前のチェックが終了すると、Leappユーティリティは/var/log/leapp/leapp-report.txt
にレポートを生成します。 ファイル。このファイルには、考えられる問題と推奨される解決策が含まれています。このフェーズでは、rpmパッケージはインストールされません。
警告:
デフォルトのCentOS7が移行のすべての要件を満たしていない場合、アップグレード前のチェックは失敗します。その場合は、すべての問題を修正して再試行する必要があります。
/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
また、余分なカーネル開発を削除する必要がありました。
CentOSにインストールされているカーネルを一覧表示します:
$ rpm -qa kernel kernel-3.10.0-1160.45.1.el7.x86_64 kernel-3.10.0-1160.42.2.el7.x86_64
上記のように、現在、私のシステムには2つのカーネルがインストールされています。
次のコマンドを使用して、古いカーネルとkernel-develsを削除し、現在アクティブなカーネルのみを保持します。
$ sudo package-cleanup --oldkernels --count=1
すべての問題を修正したら、次のコマンドを実行して、CentOS7を任意のEnterpriseLinux8.xに移行します。
$ sudo leapp upgrade
アップグレードが完了したら、システムを再起動します。
$ sudo reboot
ELevate-Upgrade-Initramfs
という新しいエントリ GRUBメニューにが表示されます。システムが自動的に起動します。更新プロセスがどのように行われるかをコンソールで確認できます。
アップグレードが完了すると、システムは自動的に再起動します。 GRUBメニューエントリは、OSに応じて自動的に更新されます。
システムにログインし、現在のOSが必要なOSであることを確認します。
$ cat /etc/os-release
出力例:
NAME="AlmaLinux" VERSION="8.4 (Electric Cheetah)" ID="almalinux" ID_LIKE="rhel centos fedora" VERSION_ID="8.4" PLATFORM_ID="platform:el8" PRETTY_NAME="AlmaLinux 8.4 (Electric Cheetah)" ANSI_COLOR="0;34" CPE_NAME="cpe:/o:almalinux:almalinux:8.4:GA" HOME_URL="https://almalinux.org/" DOCUMENTATION_URL="https://wiki.almalinux.org/" BUG_REPORT_URL="https://bugs.almalinux.org/" ALMALINUX_MANTISBT_PROJECT="AlmaLinux-8" ALMALINUX_MANTISBT_PROJECT_VERSION="8.4"
素晴らしい! CentOS7をAlmaLinux8.4バージョンに正常にアップグレードしました。
キャッシュのクリア(オプション)
移行中にダウンロードされたすべてのパッケージは、次のトランザクションが成功するまでキャッシュに保存されます。 sudo
として次のコマンドを実行すると、キャッシュされたパッケージを削除できます。 またはroot
ユーザー:
$ sudo dnf clean packages
ホスト名を更新
最後に、ホスト名、ユーザー名をAlmaLinuxと一致するように更新します。
$ sudo hostnamectl set-hostname almalinux8
全部終わった!システムを再起動して、変更を有効にします。
結論
このガイドでは、AlmaLinux開発者のELevateプロジェクトを利用して、CentOS7をAlmaLinux、CentOS Stream、Oracle Linux、RockyLinuxなどのRHEL8派生物にアップグレードする方法を説明しました。
CentOS7からRHEL8派生物への移行がこれほど簡単になるとは思っていませんでした。 AlmaLinux開発者は立派な仕事をしました。バグ修正であろうと機能追加であろうと、彼らはすぐに介入してそれに取り組みます。これらは、CentOS 8の安定した代替品をリリースした最初のものでした。また、既存のCentOS8システムをAlmaLinux8に簡単に変換するためのBashスクリプトも提供しました。詳細については、次のガイドを参照してください。
- Almalinux-deployスクリプトを使用してCentOS8からAlmaLinuxに移行する
リソース:
- AlmaLinux ELevate