Centos7升级rockyLinux8踩过的坑

Woms
Woms 2024年07月06日
  • 在其它设备中阅读本文章
  • Centos
  • 系统升级
  • rockyLinux
  • 分享到 Facebook
  • 分享到 Telegram
  • 分享到 Twitter
  • 分享到微博

2024.6.30 CentOS 正式步入了 EOL 阶段,很遗憾,本站的服务器正好跑在一台 CentOS7.10 的服务器上,所以需要进行升级 / 迁移了。

本次采用的系统是 RockyLinux8,使用 elevate 作为系统升级工具,相关教程可以自行去其他平台搜索,这里只记录我个人踩过的坑。

在升级系统开始前,如果你是云服务器用户,那么一定要提前做好 镜像 ,这是必须的,防止升级到一半的时候升级出现事故导致你无法进入服务器(本人靠镜像恢复了 3 次,均为同一个问题)

  1. 升级系统准备阶段 (leapp preupgrade 和 leapp upgrade)

在这一阶段,基本上没有什么太大的问题,根据/var/log/leapp/leapp-report.txt文件和UPGRADE INHIBITED给出的信息和命令,结合搜索引擎即可成功解决。

本人这一阶段遇到的问题如下:

  • Multiple devel kernels installed 根据 leapp-report.txt 文件给出的命令解决,版本号可能有问题,记得留意下自己系统的版本号
  • A YUM/DNF repository defined multiple times 查看 leapp-report.txt 给出的提示,本人这边是Epel源重复了,去/etc/yum.repos.d/找到并删除重复的那一个即可
  • Missing required answers in the answer file使用 leapp-report.txt 给出的命令 leapp answer --section remove_pam_pkcs11_module_check.confirm=True 解决
  • At least *MB more space needed on the / filesystem. 磁盘空间不够,清理出 / 扩容需求的空间即可解决
  • Failed to create directory /var/lib/leapp/el8userspace//sys/fs/selinux: Read-only file system 包含这段文本的错误,一般来说是包安装失败了,我这边是参考 almalinux 论坛 的解决方法进行解决的: 通过卸载提示最后一行的包来进行解决的,然后等系统安装完成后新系统重新安装解决,本人遇到的有问题的包分别是: brotli brotli-devel cmake javapackages-tools
  1. 系统升级阶段 (执行 leapp upgrade 之后 reboot)

在这阶段推荐通过云服务商的 novnc 等工具进行观察,如果在这个过程失败了,推荐直接还原系统镜像然后根据问题在leapp upgrade之前就先进行解决。

本人这一阶段遇到的问题如下:

  • ImportError: /lib64/libk5crypto.so.3: undefined symbol 根据 microsoft learn 的文档,可以得知是 Openssl 的问题,去/etc/ld.so.conf.d/目录下找到 openssl 1.1.1 相关的文件,给进行改名mv zopenssl111.conf zopenssl111.conf.bak然后执行 ldconfig 后即可解决 (也是这一个问题导致还原了 3 次)
  1. 系统完成升级阶段

在这一阶段,系统已经完成了升级,但是你进入系统后可能会遇到一些问题,每个人的问题可能不同。

本人这一阶段遇到的问题如下:

  • Cloud_init 服务炸了 (我没管)
  • 在第一阶段卸载的 brotli 安装不上,原因是 el7 的 libbrotli,我的解决方法如下:

    # 找一个临时目录下载brotli
    dnf download brotli
    # 强制安装brotli
    rpm -Uvh --force brotli-1.0.6-3.el8.x86_64.rpm
    #卸载掉libbrotli
    dnf remove libbrotli
    # 再次使用rpm重新安装brotli
    rpm -Uvh brotli-1.0.6-3.el8.x86_64.rpm
  • perl 出现perl: symbol lookup error: /usr/local/lib64/perl5/auto/version/vxs/vxs.so: undefined symbol: Perl_xs_apiversion_bootcheck异常,我的解决方法如下

    # 先删除perl-version
    dnf remove perl-version
    # 再去删除那个目录
    rm -rf /usr/local/lib64/perl5/auto/version/vxs/
    # 最后重新安装
    dnf install perl-version
  • 部分之前编译安装的应用出现类似while loading shared libraries: libgd.so.2: cannot open shared object file: No such file or directory之类的错误,解决方法就是重新编译安装那个应用即可解决
  • 部分 Python 应用出现依赖丢失,pip install 重新安装解决
  1. 后续的其他处理
    先参考Migrating from CentOS 7 to Rocky Linux 8: A Step-by-Step Guide 这篇文章的 Step 4 部分,去删除剩余下来的 el7 的包,其中需要修改的文件路径为/etc/dnf/dnf.conf,其余完全参考文章即可

本文链接:https://woms.top/archives/137.html
This blog is under a CC BY-NC-SA 4.0 Unported License

旧篇      
    • fingerprint Login
  • home 主页
  • inbox 归档
    • July 2024 1
    • November 2021 1
    • August 2021 1
    • December 2019 2
    • September 2019 2
    • June 2019 1
    • May 2019 1
    • February 2019 1
    • November 2018 1
    • October 2018 4
    • September 2018 1
  • apps 分类
    • 个人内容
    • 博客日志
    • 自写程序
    • Fuck-Eclass
    • 日常、琐事
    • 学习日志
    • 杂谈
    • 黑历史
  • 关于我
  • 友情链接
  • 标签云
  • 关于博客
  • 文章总数 16
主题 - Material i
expand_less
Copyright © 2025 Woms的Blog
:D 获取中... ———— :D 获取中...
博客说明 友情链接 站点地图
Powered by Typecho
Theme - Material