信创实践(2):利用Leapp工具迁移CentOS至AnolisOS,实现系统升级与自主可控
1. 引言
为了满足用户在CentOS退出后对操作系统使用的诉求,OpenAnolis龙蜥社区正式发布了Anolis OS。越来越多的CentOS客户期望能够迁移到Anolis OS上来。操作系统迁移是一个复杂工程,手工迁移技术要求高,操作复杂度强,需要耗费大量的人力和时间。OpenAnolis龙蜥社区针对这一痛点,为CentOS用户提供了迁移到Anolis OS的迁移解决方案AOMS ( Anolis OS Migration Solutions )。本文将介绍如何利用AOMS轻松实现从CentOS到Anolis OS的迁移。
2. 迁移原理与注意事项
CentOS 7 到 Anolis OS 8 ,无论是内核,基础软件包,工具链都发生了较大的变化。迁移工具需要考虑这些变化带来的兼容性问题。AOMS 提供的迁移工具 leapp 包含了迁移评估,迁移实施,配置还原等步骤,用于实现 CentOS 7 到Anolis OS 8 的就地迁移。
3. 部署迁移工具
1. 下载迁移工具软件源
wget https://mirrors.openanolis.cn/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo
2. 安装迁移工具
pip list | grep requests && pip uninstall requests urllib3 -y
yum -y install leapp
yum -y install python-urllib3 python-requests
备注:重新安装 python-requests 和 python-urllib3 是为了解决迁移过程中可能发生的软件包升级冲突。
3. 如果报了没找到pip,安装一下
yum -y install python2-pip
4. 迁移前评估
成功部署工具后,运行工具的评估命令来对系统环境进行扫描评估
leapp preupgrade --no-rhsm
1. 查看评估报告
评估命令执行完成后,会生成评估报告,在 /var/log/leapp/leapp-report.txt中,报告中详细列举出当前 OS 与目标 OS 系统间的升级分析报告,每一个报告点都包含影响等级,影响范围以及解决方案。当评估工具认为报告点影响 OS 的就地升级,这些报告点问题就必须解决,否则无法实施就地迁移。
2. 基于评估报告处理迁移前问题
迁移评估报告中一旦出现影响就地迁移的因素,会禁止迁移实施,将这些影响因素都解决后才能够继续实施迁移。如果遇到影响迁移实施的因素,迁移评估结果显示如下:

3. 按照报告的提示,在 /var/log/leapp/leapp-report.txt可以获取到详细的报告信息,同时 UPGRADE INHIBITED给出的影响升级的因素也可以在 /var/log/leapp/answerfile文件中查看。

解决方案:在新的 Anolis OS 8 中不再支持 pam_pkcs11 ,所以我们直接选择删除该不支持的选项:
leapp answer --section remove_pam_pkcs11_module_check.confirm=True
Anolis OS 8 中默认的 PermitRootLogin行为是 prohibit-password,禁止 root 用户登陆,如果不显式设置 PermitRootLogin yes则会在迁移后影响 root 用户密码登陆。解决方案:修改 sshd_config 配置文件,允许 root 用户登录。
sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config
解决了上述影响因素后,可以再次执行 leapp preupgrade --no-rhsm 再次评估是否有影响迁移的因素。若没有影响迁移的因素,结果如下:

5. 迁移实施
leapp upgrade --no-rhsm
一切就绪,执行结果如下:

reboot 即可进入正式的就地迁移。待系统迁移完成后,会自动重启进入迁移后的系统。
6. 迁移后验证
迁移完成后,可通过一系列基础操作查看 OS 版本,如 /etc/os-release查看 OS 版本。
迁移完成后,应用程序可以通过自身的指标查看是否能够正常运行。

执行更新
yum -y update
7. 结语
通过AOMS迁移解决方案,CentOS用户可以轻松地将现有系统迁移至Anolis OS,这不仅是对信创战略的支持,也是确保线上业务连续性和安全性的重要举措。AOMS的出现极大地简化了迁移过程,为用户提供了便捷、高效的迁移体验。如果您在迁移过程中遇到任何问题,欢迎在评论区留言交流。感谢您的阅读,希望本教程对您有所帮助!
相关文章:
信创实践(2):利用Leapp工具迁移CentOS至AnolisOS,实现系统升级与自主可控
1. 引言 为了满足用户在CentOS退出后对操作系统使用的诉求,OpenAnolis龙蜥社区正式发布了Anolis OS。越来越多的CentOS客户期望能够迁移到Anolis OS上来。操作系统迁移是一个复杂工程,手工迁移技术要求高,操作复杂度强,需要耗费大…...
数据库死锁查询SQL
Oracle 从Oracle数据库的动态性能视图(Dynamic Performance Views)中检索当前被锁定的数据库对象的相关信息,以及持有这些锁的会话(session)的详细信息。具体来说,它连接了v$ session和v$locked_object两个…...
vLLM (4) - LLMEngine上篇
系列文章目录 vLLM (1) - Qwen2推理&部署 vLLM (2) - 架构总览 vLLM (3) - Sequence & SequenceGroup vLLM (4) - LLMEngine上篇 vLLM (5) - LLMEngine下篇 文章目录 系列文章目录前言一、类图二、LLM三、LLMEngine四、GPUExectuor五、Worker六、ModelRunner七、Cache…...
Java重修笔记 第五十天 HashSet 和 TreeSet 的去重机制比较
HashSet 和 TreeSet 的去重机制比较 1. HashSet 的去重机制:HashCode() equals() 。通过运算得到 key ,也就是该对象的哈希值,再通过哈希值得到该对象在 table 表上的索引位置,若该位置上没有链表数据就直接存放,若…...
提前购|基于SSM+vue的创新型产品提前购平台(源码+数据库+文档)
创新型产品提前购平台 基于SSMvue的创新型产品提前购平台 一、前言 二、系统设计 三、系统功能设计 系统功能实现 后台模块实现 管理员模块实现 发布企业管理实现 个体管理实现 投资企业管理实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选…...
上海市计算机学会竞赛平台2024年7月月赛丙组求和问题
题目描述 给定 nn 个整数 a1,a2,…,ana1,a2,…,an,请问这个序列最长有多少长的前缀,满足元素的和大于或等于 00?如果任何长度大于 00 的前缀之和都为负数,则输出 00 输入格式 第一行:单个整数表示 nn第二行&a…...
【LVI-SAM】激光雷达点云处理特征提取LIO-SAM 之FeatureExtraction实现细节
激光雷达点云处理特征提取LIO-SAM 之FeatureExtraction实现细节 1. 特征提取实现过程总结1.0 特征提取过程小结1.1 类 FeatureExtraction 的整体结构与作用1.2 详细特征提取的过程1. 平滑度计算(calculateSmoothness())2. 标记遮挡点(markOcc…...
[数据集][目标检测]血细胞检测数据集VOC+YOLO格式2757张4类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2757 标注数量(xml文件个数):2757 标注数量(txt文件个数):2757 标注…...
opencart journal 3 在价格前添加文本prefix
要修改的文件: /catalog/view/theme/journal3/template/product.twig 行274: <div class="product-price">{{ price }}</div>{% else %}<div class="product-price-new">{{ special }}</div><div class="product-pric…...
c++ string类的模拟实现的注意事项
一.构造函数 第一种形式,使用字符指针赋值 为了防止修改,我们传入了常量字符串。但是这里的初始化列表出错了,因为_str是一个变量,将常量给到一个变量涉及到权限的放大,是错误的。那该怎么写呢?对_str的赋…...
Unity3D中控制3D场景中游戏对象显示层级的详解
前言 在Unity3D开发中,控制游戏对象的显示层级(也称为渲染顺序或渲染层级)是一个常见的需求,特别是在处理复杂的3D场景时,如角色、道具、UI元素等的可见性和渲染顺序的管理变得尤为重要。Unity通过几种不同的机制来实…...
代码执行漏洞-Log4j2漏洞 vulhub CVE-2021-44228
步骤一:执行以下命令启动靶场环境并在浏览器访问!!! 查看端口 浏览器访问 可以发现 /solr/admin/cores?action 这⾥有个参数可以传,可以按照上⾯的原理 先构造⼀个请求传过去存在JNDI注⼊那么ldap服务端会执⾏我们传上去的payload JDNI项⽬地址 https://github.com…...
uniapp / uniapp x UI 组件库推荐大全
在 uniapp 开发中,我们大多数都会使用到第三方UI 组件库,提起 uniapp 的UI组件库,我们最常使用的应该就是uview了吧,但是随着日益增长的需求,uview 在某些情况下已经不在满足于我们的一些开发需求,尽管它目…...
花8000元去培训机构学习网络安全值得吗,学成后就业前景如何?
我就是从培训机构学的网络安全,线下五六个月,当时学费不到一万,目前已成功入行。所以,只要你下决心要入这一行,过程中能好好学,那这8000就花得值~ 因为只要学得好,工作两个多月就能赚回学费&am…...
PhpStorm 下调试功能配置
调试是开发过程中的关键环节,能够极大地减少应用程序中的错误并提高代码质量。PhpStorm 作为一款功能强大的 IDE,提供了丰富的调试功能,结合 Xdebug,可以让开发者更轻松地进行 PHP 应用程序的调试。本指南将详细介绍如何在 PhpSto…...
MVC(Model-View-Controller)和MVVM(Model-View-ViewModel)
1、MVC MVC(Model-View-Controller) 是一种常用的架构模式,用于分离应用程序的逻辑、数据和展示。它通过三个核心组件(模型、视图和控制器)将应用程序的业务逻辑与用户界面隔离,促进代码的可维护性、可扩展…...
【H2O2|全栈】关于HTML(4)HTML基础(三)
HTML相关知识 目录 HTML相关知识 前言 准备工作 标签的具体分类(三) 本文中的标签在什么位置中使用? 列表 编辑编辑 有序列表 无序列表 自定义列表 表格 拓展案例 预告和回顾 后话 前言 本系列博客将分享HTML相关知识点…...
关于找不到插件 ‘org.springframework.boot:spring-boot-maven-plugin:‘的解决方案
找到项目结构后,点击库,全选所有后点击应用即可...
深入RabbitMQ世界:探索3种队列、4种交换机、7大工作模式及常见概念
文章目录 文章导图RabbitMQ架构及相关概念四大核心概念名词解读 七大工作模式及四大交换机类型0、前置了解-默认交换机DirectExchange1、简单模式(Simple Queue)-默认DirectExchange2、 工作队列模式(Work Queues)-默认DirectExchange3、发布/订阅模式(Publish/Subscribe)-Fano…...
将目标检测模型导出到C++|RT-DETR、YOLO-NAS、YOLOv10、YOLOv9、YOLOv8
点击下方卡片,关注“小白玩转Python”公众号 最近,出现了更新的YOLO模型,还有RT-DETR模型,这是一个声称能击败YOLO模型的变换器模型,我想将这些模型导出并进行比较,并将它们添加到我的库中。在这篇文章中&a…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
