Project Icon

centos2ol

CentOS和Rocky Linux转Oracle Linux自动迁移脚本

centos2ol是一个自动将CentOS或Rocky Linux系统转换为Oracle Linux的开源脚本。它支持CentOS 6/7/8和Rocky Linux 8/9的x86_64和aarch64架构,通过替换或移除特定发行版软件包实现系统迁移。该工具提供简单的使用方法和多种选项,帮助用户高效完成操作系统切换。

从 CentOS/Rocky Linux 切换到 Oracle Linux

此脚本旨在通过删除任何特定于发行版的软件包或将其替换为 Oracle Linux 等效软件包,自动将 CentOS 或 Rocky Linux 实例切换到 Oracle Linux。

支持的版本和架构

该脚本目前支持在 x86_64aarch64 架构上切换 CentOS Linux 6、CentOS Linux 7、CentOS Linux 8、Rocky Linux 8 和 Rocky Linux 9。它支持 CentOS Stream。

由于测试有限,切换 Rocky Linux 的支持应被视为实验性的。同样,在 aarch64 主机上切换上述任何操作系统也应被视为实验性的

该脚本不支持从为 Raspberry Pi (aarch64) 构建的 Rocky Linux 镜像进行切换。

在尝试切换之前,请确保您有一个完整的、可用的备份,并在切换过程中[报告遇到的任何问题][6]。

开始之前

重要提示:此脚本仍在开发中,并非设计用于处理所有可能的配置。在开始此过程之前,请确保您有一个完整的、可用的系统备份,以防脚本无法成功转换系统或无法回滚所做的更改。

注意:CentOS 8 已达到生命周期终止,其存储库已移至 vault.centos.org。在开始之前,请确保您的 CentOS 8 系统是最新的,并且能够访问这些存储库。

删除所有非标准内核

由于 [GRUB2 BootHole][1] 漏洞,我们的 SecureBoot shim 只能引导由 Oracle 签名的内核,我们只能替换默认的 CentOS 内核。虽然如果当前禁用了 SecureBoot,这可能不会产生影响,但在以后启用它可能会导致系统无法引导。因此,我们强烈建议删除所有非标准内核,即任何未由 baseupdates 存储库提供的已安装内核。这包括 [centosplus][2] 内核。

  1. 确保您的 CentOS yumdnf 配置正常工作,即没有过期的存储库。
  2. 禁用所有非 CentOS 存储库。切换后可以重新启用这些存储库。
  3. 确保 /var/cache 中至少有 5GB 的可用空间。
  4. 应禁用所有自动更新,例如通过 yum-cron

使用方法

  1. 以具有 sudo 权限的用户身份登录到您的 CentOS Linux 6、7 或 8 或 Rocky Linux 8 或 9 实例。
  2. 克隆此存储库或下载 [centos2ol.sh][3] 脚本。
  3. 运行 sudo bash centos2ol.sh 将您的 CentOS 实例切换到 Oracle Linux。

使用选项

  • -r 使用 Oracle Linux RPM 重新安装所有 CentOS RPM

    如果系统切换到 Oracle Linux 后,已安装的软件包没有更新的 Oracle Linux 版本,则 CentOS 版本将保留。 此选项会继续使用 Oracle Linux 中的相同版本重新安装任何 CentOS RPM。这对于支持不是必需的,也不会影响系统的功能, 但提供此选项是为了让用户可以从信任存储中删除 CentOS GPG 密钥。 重新安装过程后将显示所有非 Oracle RPM 的列表。

  • -k 不安装 UEK 内核并禁用 UEK 存储库

    此选项将不安装 UEK 内核,并将禁用所有 UEK yum 存储库。

  • -V 在切换前后验证 RPM 信息

    此选项在 /var/tmp/ 中创建四个输出文件:

    • ${hostname}-rpms-list-[before|after].log:切换到 Oracle Linux 之前和之后已安装软件包的排序列表。
    • ${hostname}-rpms-verified-[before|after].log:切换到 Oracle Linux 之前和之后所有已安装软件包的 RPM 验证结果。

测试

有关可用测试及如何运行它们的说明,请参阅 TESTING.md

已知问题

  1. 有一个[关于上游 OpenJDK][9] 软件包在 dnf reinstall 事务期间重置 alternatives 配置的报告问题。

    我们建议在运行 centos2ol.sh 之前记录 alternatives --list 的输出,并在切换后查看相同的输出。如果您遇到 OpenJDK 以外的软件包问题,请[提交问题][6]。

限制

  1. 该脚本目前需要能够直接或通过代理与 CentOS/Rocky 和 Oracle Linux yum 存储库通信。
  2. 该脚本目前不支持注册到第三方管理工具(如 Spacewalk、Foreman 或 Uyuni)的实例。
  3. 与从第三方存储库安装的软件包的兼容性是预期的,但不能保证。例如,某些软件不喜欢存在 /etc/oracle-release 文件。
  4. 安装第三方和/或闭源内核模块的软件包(例如商业防病毒产品)在切换后可能无法工作。
  5. 该脚本仅启用切换到 Oracle Linux 所需的基本存储库。用户可能需要启用其他存储库以获取已安装软件包的更新(参见 [issue #1][4])。

调试

运行 sudo bash -x centos2ol.sh 以调试模式将 CentOS 实例切换到 Oracle Linux。这将在命令及其参数或相关单词列表展开后但执行之前打印跟踪信息。

参与

我们欢迎贡献!请参阅我们的[贡献指南][5]。

支持

  • 对于非安全相关的错误报告、问题或功能增强请求,请打开一个 [GitHub issue][6]。
  • 要报告安全问题或漏洞,请遵循[报告安全漏洞][7]说明。

资源

有关 Oracle Linux 的更多信息,请访问 [oracle.com/linux][8]。

贡献

本项目欢迎社区贡献。在提交拉取请求之前,请查看我们的贡献指南

安全

请查阅安全指南,了解我们负责任的安全漏洞披露流程。

许可证

版权所有 (c) 2020, 2023 Oracle 和/或其附属公司。

根据通用许可证 v 1.0 获得许可,如 https://oss.oracle.com/licenses/upl/ 所示。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号