注意:
- 此教程在 Oracle 提供的免费实验室环境中提供。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间的示例值。完成练习后,将这些值替换为特定于云环境的值。
使用 Leapp 升级 Oracle Linux
简介
Leapp 实用程序是一个用于更新和升级操作系统以及应用程序的框架。通过实用程序的组件软件包,可以将不同的工作流创建到用于更新软件的配置文件中。
Leapp 操作包括两个阶段:
- 升级前- 检查系统各个方面的过程并运行检查以确定是否可以升级 OS 软件。
- 升级 -根据配置文件更新系统,这些配置文件在软件的以前版本和当前版本之间映射软件包。
Leapp 可用于升级 Oracle Linux 7 Oracle Cloud Infrastructure 实例以及 Oracle Linux 7 内部部署系统。
此实验室引导您完成将当前发行版 Oracle Linux 7 Oracle Cloud Infrastructure 实例升级到 Oracle Linux 8 的过程。
其他任何操作系统或版本均不支持 Leapp。
注:在生产环境中使用 Leapp 之前,建议您在测试环境中熟悉 Leapp 升级过程。这样,您可以更好地了解流程及其报告,并测试可能遇到的任何安全或兼容性问题。
目标
在此实验室中,您将学习:
- 准备 Oracle Linux 7 系统并使用 Leapp 升级到 Oracle Linux 8
- 检查并修改系统的先决条件设置以支持 Leapp 升级
- 执行升级前检查,检查并创建有关系统配置和升级前要处理的项目的报告
- 使用 Leapp 实用程序将系统升级到 Oracle Linux 8
先决条件
- 运行当前发行版 Oracle Linux 7 的 Oracle Cloud Infrastructure 实例
注:您可以在以下文档链接中查看在通过 Leapp 升级之前应执行的系统和内核先决条件及升级前检查的完整列表:Performing System Upgrades with Leapp。
设置实验室环境
使用免费实验室环境时,请使用此链接查看如何建立 SSH 连接和其他使用说明。Oracle Linux Lab Basics
这些部分显示了如何从桌面上的终端与实例建立 SSH 连接。
- 复制公共 IP 地址
- 连接 Oracle Linux 实例
升级前的准备工作
此练习中使用的实例预配置了特定于环境的设置,例如代理设置。
某些通常执行的升级前检查将跳过,因为在此环境中不需要这些检查。
注意:您可以观看一个免费视频,展示此实验中使用的 Leapp 升级过程。您将在本实验末尾的更多信息部分中找到该链接。
-
建立与实验室系统实例的 SSH 连接。
请记住 Oracle Linux Lab Basics 的链接说明如何建立 SSH 连接和其他使用说明。
-
验证系统语言环境是否设置为 en_US。UTF-8。
cat /etc/locale.conf
如果未正确设置语言环境,请使用命令
sudo localectl set-locale LANG=en_US.UTF-8
配置此项。
更新到最新软件包
使用 Yum 将所有系统软件包更新到最新版本。
sudo yum update -y
这需要几分钟时间,更新完成后,重新引导系统。
sudo reboot
等待几分钟后重新引导完成,然后将 SSH 连接重新连接到实例。
如果连接失败,请稍候,然后重试。
安装 Leapp 实用程序
安装 Leapp 实用程序及其支持系统信息库。
sudo yum install -y leapp --enablerepo=ol7_leapp,ol7_latest
运行升级前检查
预升级处理将评估系统是否为成功升级做好准备。它标识可能会影响或阻止升级过程的潜在问题。
可以随时使用升级前检查来评估系统的状态并确定发生冲突的位置。它不会更改系统,而是创建报告文件和调试日志,其中包含有关系统、其配置和潜在升级问题的信息。
-
运行
leapp preupgrade
命令以启动升级前进程。此实验系统是云实例,因此请使用命令开关
--oci
。sudo leapp preupgrade --oci
如果系统是非云系统,则使用交换机
--oraclelinux
。--oci
和--oraclelinux
是用于预设与云或非云系统相关的存储库和配置信息的便利开关。- 输出示例:
============================================================ UPGRADE INHIBITED ============================================================ Upgrade has been inhibited due to the following problems: 1. 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-report.txt 文件和 answerfile,调试信息保存在 leapp-preupgrade.log 日志文件中。
在此实验环境中,屏幕结果标识了一个会阻止升级的问题。文件中可能还存在其他禁止问题。
-
检查 leapp-report.txt 文件。
sudo cat /var/log/leapp/leapp-report.txt
标识标记为
Risk Factor: high (inhibitor)
的任何高风险条目。这将阻止升级完成。此报告汇总了问题并提供了解决问题的解决方案。
此报告是一个有用的自测工具,它提供了有关系统中配置内容的良好视图,无论是否要升级,可能会存在哪些潜在冲突。
-
检查 answerfile。
sudo cat /var/log/leapp/answerfile
- 输出示例:
[remove_pam_pkcs11_module_check] # Title: None # Reason: Confirmation # =================== remove_pam_pkcs11_module_check.confirm ================== # Label: Disable pam_pkcs11 module in PAM configuration? If no, the upgrade process will be interrupted. # Description: PAM module pam_pkcs11 is no longer available in OL-8 since it was replaced by SSSD. # Type: bool # Default: None # Available choices: True/False # Unanswered question. Uncomment the following line with your answer # confirm =
Available Choices: True/False
部分将告知如何修改 answerfile 以解决发现的问题。使用
sudo leapp answer
命令为[remove_pam_pkcs11_module_check]
PAM 模块项提供答案True
。sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
注:如果您愿意,也可以使用
sudo vi /var/log/leapp/answerfile
命令编辑 answerfile 并插入True
设置。 -
验证是否已修改 answerfile。
sudo cat /var/log/leapp/answerfile
- 输出示例:
[remove_pam_pkcs11_module_check] confirm = True
请记住,必须解析 answerfile 中的所有项以及 leapp-report.txt 文件中的任何高风险
Risk Factor: high (inhibitor)
条目。您可以随时运行预升级命令来生成报告文件并确保满足所需的项。
升级系统
要与升级后的版本进行比较,请验证系统的当前 OS 和内核版本。
-
检查系统上运行的 Oracle Linux 版本。
sudo cat /etc/oracle-release
-
检查使用的内核版本。
uname -r
-
运行升级处理。
sudo leapp upgrade --oci
注:实验室系统是一个云实例,因此再次使用命令开关
--oci
。升级过程大约需要 10 分钟,完成后返回到命令提示符。
- 输出示例:
The downloaded packages were saved in cache until the next successful transaction. You can remove cached packages by executing 'dnf clean packages'. ==> Processing phase 'InterimPreparation' ====> * efi_interim_fix Adjust EFI boot entry for first reboot ====> * initram_disk_generator Creates the upgrade initram disk ====> * 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
升级过程还会更新 answerfile leapp-report.txt,并创建 leapp-upgrade.log 日志文件。
注:如果未在 leapp-report.txt 文件中处理 answerfile 项和
Risk Factor: high (inhibitor)
项,该进程将终止到命令行并告知遇到的问题。 -
升级完成后,重新引导系统。
sudo reboot
重新引导将断开 SSH 连接。在引导过程中,Leapp 进程会自动升级软件包。
升级操作还包括多个自动重新引导。在完成所有重新引导之前,您将无法重新连接 SSH 会话。
等待大约 15 分钟,然后将 SSH 会话重新连接到系统。如果连接失败,请等待几分钟,然后重试。
验证升级
将当前用于系统的 OS 版本和内核与升级前版本进行比较。
-
检查正在运行的 Oracle Linux 版本。
sudo cat /etc/oracle-release
-
检查使用的内核版本。
uname -r
升级已完成,因为您现在看到系统正在运行 Oracle Linux 8.5,并且使用的内核显示了 el8。
详细信息
请参阅其他相关资源:
-
Luna Labs:Linux OS 和虚拟化工程实验室
-
学习途径: 使用 Oracle Linux 8
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者在 Oracle Learning YouTube 频道上访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle 学习资源管理器。
有关产品文档,请访问 Oracle 帮助中心。
Upgrade Oracle Linux with Leapp
F55519-03
October 2022
Copyright © 2022, Oracle and/or its affiliates.