信创实践(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…...
KOReader 2025.04:重新定义电子墨水屏阅读
KOReader 2025.04:重新定义电子墨水屏阅读 【免费下载链接】koreader An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices 项目地址: https://gitcode.co…...
Redis 相关命令详解及其原理
Redis 相关命令详解及其原理 文章目录Redis 相关命令详解及其原理1. Redis 简介2. Redis 安装2.1 包管理器安装2.2 源码编译安装2.4 验证安装3. Redis 基础原理3.1 单线程模型3.2 底层数据结构概述4. 数据类型详解4.1 String(字符串)底层存储结构常用命令…...
MediaPipe Pose镜像体验:CPU也能毫秒级检测,无需GPU免配置
MediaPipe Pose镜像体验:CPU也能毫秒级检测,无需GPU免配置 1. 引言:CPU上的实时姿态检测革命 在计算机视觉应用中,人体姿态检测一直是个热门领域。从健身应用的动作分析到虚拟试衣的体型测量,这项技术正在改变我们与…...
R Markdown网站生成器使用教程:如何快速搭建技术文档网站 [特殊字符]
R Markdown网站生成器使用教程:如何快速搭建技术文档网站 📊 【免费下载链接】rmarkdown Dynamic Documents for R 项目地址: https://gitcode.com/gh_mirrors/rm/rmarkdown R Markdown是一个强大的动态文档生成工具,能够将代码、输出…...
Wireshark抓包实战:用一道CTF题彻底搞懂IP分片与UDP重组
Wireshark抓包实战:用一道CTF题彻底搞懂IP分片与UDP重组 在网络安全竞赛中,一个看似简单的UDP传输任务可能隐藏着协议层面的精妙设计。去年CyBRICS赛事中的lx100题目就完美诠释了这一点——参赛者需要从相机传输的UDP流量中提取图片,而真正的…...
终极中文语义理解指南:text2vec-base-chinese如何让AI真正读懂中文
终极中文语义理解指南:text2vec-base-chinese如何让AI真正读懂中文 【免费下载链接】text2vec-base-chinese 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/text2vec-base-chinese 还在为中文文本相似度计算而烦恼吗?text2vec-base-c…...
炉石传说HsMod插件:55+功能全面优化你的游戏体验
炉石传说HsMod插件:55功能全面优化你的游戏体验 【免费下载链接】HsMod Hearthstone Modify Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod HsMod是一款基于BepInEx框架的开源炉石传说模改插件,为玩家提供超过55项实…...
网络爬虫主流思路及反爬破解技术应用(新手速成)
网络爬虫的主流思路是模拟浏览器行为自动化抓取网页数据,而反爬破解技术则通过代理IP、请求伪装、动态渲染处理等方式绕过网站防护机制,实现稳定高效的数据采集 。一、主流爬虫技术思路 1.请求模拟与数据提取 使用 requests 或 urllib 构建H…...
避坑指南:用OpenCompass 0.2.4评测InternLM2时,为什么MMLU数据集必须用旧版?
避坑指南:OpenCompass 0.2.4评测InternLM2时MMLU数据集版本兼容性实战解析 当你在深夜调试大模型评测代码,屏幕突然弹出"Dataset version mismatch"的红色报错时,是否也经历过那种头皮发麻的崩溃感?最近我们团队在使用O…...
2026年三维扫描仪选购指南:专业厂家如何选,这几点是关键
在工业4.0与智能制造浪潮的推动下,三维扫描技术已成为产品设计、逆向工程、质量检测等领域的核心工具。面对市场上琳琅满目的品牌与型号,如何选择一台真正适合自身需求、性能可靠的三维扫描仪,成为众多工程师、设计师和企业决策者面临的难题。…...
