首页 程序笔记 CentOS 7 生命周期结束 - 迁移到 Rocky Linux 9

CentOS 7 生命周期结束 - 迁移到 Rocky Linux 9

CentOS 7 于 2024 年 6 月 30 日停止获取更新,这意味着它不再从 Red Hat 获取安全更新或错误修复。像 Rocky Linux 这样的新选项已经出现,可以帮助使用 CentOS 并需要持续支持的用户。

从一种类型的 Linux 迁移到另一种类型需要仔细规划并一步一步进行。首先,您必须从 CentOS 7 切换到 Rocky Linux 8,然后从 Rocky Linux 8 切换到 Rocky Linux 9 使用 Leapp 框架和 ELevate 项目等工具来简化此过程。

本指南将通过提供清晰、易于遵循的步骤来帮助您从 CentOS 7 迁移到 Rocky Linux 9

先决条件

CentOS 7 迁移到 Rocky Linux 9 的先决条件包括:

  • 运行 CentOS 7 的系统。
  • 管理员访问权限。
  • 互联网连接。

将 CentOS 7 升级到 Rocky Linux 8

本文接下来的部分将向您展示如何使用 ELevate 项目和 LeappCentOS 7 迁移到 Rocky Linux 8框架。

这两个项目可以帮助您将系统从一个基于 RHEL 的操作系统迁移到另一个。

步骤1:备份CentOS 7数据

在开始迁移过程之前,备份所有重要文件非常重要,这样可以确保在迁移过程中出现任何问题时,您可以恢复数据而不会造成任何损失。

如果要备份特定文件或目录,可以使用 tar 命令和 -cvzf 选项来创建压缩存档文件。

sudo tar -cvzf /backup/home_user1_backup.tar.gz /home/user1

要备份整个系统,您可以使用 tar 命令--exclude 选项来排除某些目录(例如,/proc/sys/dev 等),然后创建压缩存档文件。

sudo tar -cvzf /backup/full_system_backup.tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/backup /

或者,您可以使用 rsync 命令在两个位置(本地或通过网络)之间同步文件和目录。

sudo rsync -av --delete /source_directory /backup

如果您的CentOS 7系统托管MySQLMariaDB数据库,您可以使用mysqldump命令将数据库备份到SQL文件。

mysqldump -u username -p dbname > dbname_backup.sql

第 2 步:安装 Elevate 和 Leapp 软件包

要从最新版本的存储库安装 elevate-release 软件包,您可以使用以下命令:

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

接下来,安装用于系统升级和迁移的Leapp升级工具以及包含Rocky Linux特定数据文件的leapp-data-rocky > 分布。

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

第 3 步:运行升级前检查

现在运行以下命令来启动预升级过程,其中 Leapp 通过识别潜在问题、检查兼容性、执行必要的升级前任务以及生成升级前报告来准备系统升级。

sudo leapp preupgrade

预升级过程可能需要一些时间才能完成。完成后,Leapp 工具将在 /var/log/leapp/ 目录中创建文件,其中包含重要文件以及有关在运行过程中可能出现的任何潜在问题的信息。升级以及如何修复它们。

sudo ls -l /var/log/leapp/

以下是您应该查看的关键文件:

  • answerfile – 此文件包含需要答案才能继续升级的问题。
  • leapp-report.txt – 此文件列出了升级之前或之后要修复的所有问题和解决方案。
  • leapp-preupgrade.log – 此文件显示升级前过程的完整日志和详细信息。

在升级系统之前,请检查前两个文件并采取必要的步骤来修复从 CentOS 7 迁移时的以下常见问题。

1.删除pata_acpi内核模块:

sudo rmmod pata_acpi

2.更新/etc/ssh/sshd_config配置文件以允许root登录:

echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config

3.禁用PAM配置中的pam_pkcs11模块,使升级过程不间断。

sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True

修复所有常见问题后,重新运行预升级命令以确认一切均已修复:

sudo leapp preupgrade

当不再显示“升级禁止”消息时,升级已准备就绪。

第 4 步:执行升级

最后,运行升级命令,这将启动升级过程,其中包括下载必要的软件包、应用系统配置更改以及将系统更新到目标版本等任务。

sudo leapp upgrade

等待升级完成。如果不起作用,请返回之前的步骤并修复升级前检查期间遗漏的任何问题。

升级过程顺利完成后,重新启动计算机。

reboot

重新启动后,您将在 GRUB 菜单中看到一个名为 Elevate-Upgrade-Initramfs 的条目。

等待五秒后,系统将自动开始升级过程。

升级完成后,系统将重新启动两次。重启完成后,你会在GRUB菜单中看到Rocky Linux 8选项,这意味着从CentOS 7升级到Rocky Linux 8强>成功了。

现在以 root 用户身份登录并验证版本。

cat /etc/redhat-release

Rocky Linux release 8.9 (Green Obsidian)

第 5 步:升级后步骤

迁移到Rocky Linux 8后,您需要清理之前CentOS版本留下的所有软件包。

sudo rpm -qa | grep el7 
sudo rpm -qa | grep elevate
sudo rpm -qa | grep leapp
sudo rpm -qa | grep el7 | xargs sudo rpm -e
sudo rm -fr /root/tmp_leapp_py3
sudo dnf clean all

将 Rocky Linux 8 升级到 Rocky Linux 9

要从 Rocky Linux 8 升级到 Rocky Linux 9,您需要使用相同的 ELevate 存储库和 Leapp框架。

第 1 步:安装 Elevate 和 Leapp 软件包

首先,安装elevate-release软件包,它为系统上安装的操作系统的特定版本提供最新版本的软件包。

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

接下来,运行以下命令设置排除规则,允许 yum 安装或更新所有软件包,而无需任何排除。

sudo yum config-manager --save --setopt exclude=''

接下来,安装 leapp-upgradeleapp-data-rocky 软件包,它们提供的功能可促进从一个版本的操作系统升级到另一个版本的过程。

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

第 2 步:运行升级前检查

现在运行以下命令来启动预升级过程,其中 Leapp 通过识别潜在问题、检查兼容性、执行必要的升级前任务以及生成升级前报告来准备系统升级。

sudo leapp preupgrade

预升级过程会创建与以前类似的文件,但具有不同的建议解决方案。查看应答文件以查找所有建议的步骤并按所示修复它们。

1.调整firewalld的设置。

sudo sed -i "s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/" /etc/firewalld/firewalld.conf

2.删除不支持的网络设备类型的网络设置文件。

sudo rm /etc/sysconfig/network-scripts/ifcfg-[device_name]

3. 跳过应答文件中的VDO设备检查要求。

sudo leapp answer --section check_vdo.no_vdo_devices=True

修复所有常见问题后,重新运行升级前命令以确认一切均已修复。

sudo leapp preupgrade

当不再显示“升级禁止”消息时,升级已准备就绪。

步骤 3:执行升级

最后,运行升级命令,这将启动升级过程,其中包括下载必要的软件包、应用系统配置更改以及将系统更新到目标版本等任务。

sudo leapp upgrade

等待升级完成。如果不起作用,请查看报告是否显示任何有问题的包。通常,make-develrocky-logos 软件包会在升级过程中引起问题。

sudo dnf remove rocky-logos make-devel

删除有问题的软件包后再次运行升级。

sudo leapp upgrade

升级过程顺利完成后,重新启动计算机。

reboot

重新启动后,您将在 GRUB 菜单中看到一个名为 Elevate-Upgrade-Initramfs 的条目。

等待五秒后,系统将自动开始升级过程。

升级完成后,系统将重新启动两次。重启完成后,您会在GRUB菜单中看到Rocky Linux 9选项,这意味着从Rocky Linux 8升级到Rocky Linux 9 成功了。

启动计算机后,登录并查看迁移进行得如何。确保您使用正确的操作系统。检查旧操作系统版本中的日志和任何剩余的软件包。您可能想自己删除或更新它们。


cat /etc/redhat-release
cat /etc/os-release
rpm -qa | grep el8
cat /var/log/leapp/leapp-report.txt
cat /var/log/leapp/leapp-upgrade.log

按照本指南中的步骤操作后,您现在已从 CentOS 7 升级到 Rocky Linux 9。探索有关 CentOS 替代方案的更多信息,以及为什么 Rocky Linux 脱颖而出,成为最佳选择之一。


4

站心网

CentOS 7 于 2024 年 6 月 30 日停止获取更新,这意味着它不再从 Red Hat 获取安全更新或错误修复。像 Rock..

为您推荐

结束北漂之后的这半年

大多数年轻人带着一腔热血,怀着对大城市的憧憬拖着一个皮箱就开始了北漂,而我不一样。2014年9月培训机构到学校招人,大学在篮球、Dota、LOL中度过的我,那时候甚至从来没有去思考未来怎么办。在女朋友(现在是媳妇..

如何选择更适合你的 Linux 发行版?

很多人经常会问我这样一个问题:“嘿,你是用Linux的,对吧?我应该使用Linux的哪个版本?我有这个朋友推荐我_____,你觉得怎么样?”我通常会以这样的问题回复:这取决于你想做什么?今天我决定写一篇关于如何选择L..

VS创建.NET Core项目使用Docker方式部署到Linux服务器

在 Visual Studio(VS) 中,使用 Docker 方式部署 .NET Core 项目 到 Linux 服务器,可以简化环境管理并提高部署效率。以下是完整教程:1. 在 VS 创建 .NET Core 项目并启用 Docker新建 ASP.NET Core 项目打开 Visu..

最新CentOS7安装搭建shadowsocks服务端+客户端使用图文教程

使用的CentOS版本是7.9,其他版本也可以。超级推荐的是搭建shadowsocks服务端,安装配置都很简单,几分钟就搞定,客户端支持PC移动端,下面是安装shadowsocks的过程,只要复制粘贴命令就行了,文件夹路径都不需要改..

ASP.NET 使用Entity Framework (EF) 创建迁移修改SQLite数据库表结构

在 ASP.NET 中,使用 Entity Framework (EF) 创建并连接 SQLite 数据库是一种轻量级、高效的数据库管理方式。以下是详细步骤:安装必要的 NuGet 包安装EntityFrameworkCore.Sqlite包:Install-Package Microsoft.Ent..

如何从.NET Framework迁移到.NET Core或.NET 6/7?

从 .NET Framework 迁移到 .NET Core 或 .NET 6/7 是一个提升性能和跨平台能力的关键过程。以下是迁移的主要步骤和注意事项:迁移步骤1. 评估当前项目依赖项检查:确保所有第三方库和NuGet包都有与 .NET Core/.NET 6..

.NET 9 即将推出的功能Task.WhenEach

.NET 爱好者!我刚刚偶然发现了一个非常酷的新 PR,它被合并到 .NET 运行时存储库中,我想分享一个例子。希望您能为新的 .NET 版本大肆宣传!在即将到来的 .NET 9 版本中,我们预计会有一个名为 .它在这里让您的异步..

针对 Go 语言开发的 SQL 驱动模拟库

数据库交互是几乎所有应用程序不可或缺的一部分,开发者们常常需要对数据库进行各种操作,包括插入、更新、删除和查询等。然而,在开发过程中直接对真实数据库进行操作不仅耗时耗力,还可能带来数据一致性和安全性的..

DockerUI 中文可视化Docker管理工具使用示例

DockerUI 是由国内开发者打造的一款优秀的 Docker 可视化管理工具。该工具拥有简洁直观的UI界面,可以轻松进行Docker主机管理、集群管理,以及Docker任务的编排等操作。DockerUI不仅展示了资源利用率、系统信息和更..

Blazor的N种渲染模式原理和常见问题说明

我们从下面这幅图开始,下图显示了三种渲染模式,分别称之为静态SSR、交互式SSR(即之前的BlazorServer)、交互式CSR(即之前的BlazorWasm)。还有一种渲染模式BlazorHybrid,稍后说。一、先浅层理解一个图例静态SSR:经..

前端CSS常见的三种设计模式

CSS设计模式主要包括OOCSS、SMACSS和BEMCSS等。以下是对这些模式的具体介绍:OOCSS:面向对象的CSS,旨在编写高可复用、低耦合和高扩展的CSS代码。它将抽象(结构)和实现(样式)分离,抽离公共代码,以提高代码的..

WinToUSB | 把Windows塞进U盘里即插即用

不论是在外出差,还是在家临时办公,现在很多设备携带起来都不是那么方便,在这种情况下,有一个轻巧而高效的操作系统环境就显得格外关键。今天,要给大家介绍一款超级实用的便携式系统启动盘,凭借其独特功能和卓越..

.NET Framework被淘汰了吗?

.NET Framework并未完全被淘汰,但它的某些版本确实已经停止支持。微软在2023年11月10日停止了对.NET Framework 4.8之前的版本的支持。这一决策意味着使用这些旧版本的应用程序将不再获得安全更新和其他维护,从而可..

强大的 .NET Mock 框架 单元测试模拟库Moq使用教程

单元测试是确保代码质量和可靠性的重要手段。当我们的代码依赖于外部系统、数据库或第三方服务时,编写有效的单元测试可能会变得复杂且耗时。为了简化这一过程,模拟(Mocking)技术应运而生。在 .NET 生态系统中,M..

CLS 问题:超过 0.1(桌面设备) 是什么意思?

在网页设计和开发中,CLS(Cumulative Layout Shift)是指页面布局的累计偏移量。当一个用户与页面互动时,如果页面的某些元素突然改变位置或大小,导致整个布局发生偏移,就会产生布局偏移。这种偏移可能会影响用户..

Angular UT 模拟执行setTimeout

在 Angular 单元测试中,我们经常需要模拟异步操作,比如 setTimeout。提高测试速度: 真实环境下的 setTimeout 会阻塞测试,导致测试运行时间过长。确保测试的可靠性: 模拟 setTimeout 可以让我们更好地控制异步操..

JavaScript 的 sessionStorage 能否加锁?

直接给 sessionStorage 加锁是不可能的。sessionStorage 的本质: sessionStorage 是浏览器提供的一种用于在当前浏览器会话中存储数据的机制。它存储在客户端,数据仅在当前浏览器窗口或标签页中有效。加锁的必要性..

Redis 同步、击穿、穿透及雪崩简述

对Redis最常见的几个问题,简要的说下我的理解与解决方法。数据同步指Redis做为缓存,在数据变化时,怎么保持与数据库数据同步的。一般解决方案为:缓存双删(同步方案大都采用删除缓存,而不会更新新缓存。缓存击穿..

Vue 3.5引入新特性 还有与SSR相关的改进

Vue 3.5引入了响应式属性解构、useTemplateRef方法、useId实用函数、内部响应性重构等新特性。以下是具体介绍:响应式属性解构此功能允许开发者在defineProps宏中解构属性而不会失去响应性,这为组件间的属性传递提..

Asp.Net Core进程内托管 和 进程外托管的区别

在ASP.NET Core中,托管模型决定了应用程序如何运行及其与Web服务器交互的方式。主要有两种托管模式:进程内托管(In-Process Hosting)和进程外托管(Out-of-Process Hosting)。每种模式都有其独特的优势和适用场..

发表回复

返回顶部