GNU/Linux >> Linux の 問題 >  >> AlmaLinux

ELevateユーティリティを使用してCentOS7をAlmaLinux8、CentOS Stream 8、Oracle Linux 8、RockyLinux8に移行する方法

ご存知かもしれませんが、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

AlmaLinux
  1. AlmaLinuxとRockyLinux

  2. Centos8からRockyLinux8に移行する方法

  3. CentOS8をRockyLinuxに移行する

  1. CentOS8からRockyLinux8.4に移行する方法

  2. CentOS / AlmaLinux / RockyLinux8でGUIを起動する方法

  3. CentOS8からRockyLinux8に移行する方法

  1. CentOS8からRockyLinux8に移行する方法

  2. CentOSLinuxをOracleLinuxに移行する方法

  3. CentOS8LinuxからRockyLinux8に移行する方法