乐趣区

CentOS-6升级到CentOS-7

转载请注明文章出处:https://tlanyan.me/upgrade-ce…

注意

非必要情况,请使用 重新安装系统的方式升级,原因如下:

  1. 并非所有的系统都能顺利从 6 升级到 7,安装的软件越少,升级成功的可能性越大;
  2. 只支持 6.5 及以上系统升级到不高于 7.2 系统;
  3. 升级的耗时完全不比重新安装少,绝大多数情况下会耗费更长的时间和更多精力;
  4. 升级完成后处理各种依赖是一个非常头大的问题。

本人在同一天升级了两台电脑,一个成功一个失败。成功的那台电脑额外花了一天时间处理各种依赖和问题,失败的电脑半小时装好系统和必备软件,用得爽歪歪。所以如非必要,建议采用备份数据后直接重装系统的方式。

操作

通过软件方式从 6 升级到 7,请参考下面的步骤:

  1. 升级当前系统到最新版本:yum update -y
  2. 安装旧版openscap: yum remove -y openscap && yum install -y http://dev.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm
  3. 添加 upgradetool 源:

    cat <<EOF >/etc/yum.repos.d/upgradetool.repo
    [upgrade]
    name=CentOS-$releasever - Upgrade Tool
    baseurl=http://dev.centos.org/centos/6/upg/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    EOF
    
    
  4. 安装升级工具:yum install -y redhat-upgrade-tool preupgrade-assistant preupgrade-assistant-contents
  5. 执行升级可行性分析:preupg -l,该命令会耗费几分钟到几十分钟时间。如果出现 preupg: error: [Errno 2] No such file or directory: '/root/preupgrade/result.html' 的错误,请参考第一步安装 openscap 的旧版;
  6. 使用清华大学的 centos-vault 源安装 7.2 版本:centos-upgrade-tool-cli --network 7 --instrepo=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.2.1511/os/x86_64/

    注意:7.2 是支持升级的最高版本,升级其他版本将会出现 Downloading failed: invalid data in .treeinfo: No section: 'checksums' 的错误提示;

  7. 如果升级成功,用 reboot 命令重启系统;如果提示 The requested URL returned error: 404 Not Found 等错误,基本上说明当前系统不支持直接升级。果断采用重装系统的正道吧,少年!
  8. 系统重启后,有可能因为依赖库确实导致 ssh 无法启动,grep不能正常使用等问题。基本功底够好的手动排查,然后一个个问题解决;搞不懂错误原因或者觉得处理麻烦的,备份数据后重装系统吧!
  9. 使用 rpm -qa | grep el6 查看系统上残留的软件包。如果能手动清理掉,让系统 update 无障碍,耐心一个个处理掉。如果觉得依赖太麻烦或者搞不定,备份数据后重装系统吧!

参考

  1. https://blog.51cto.com/moerji…
退出移动版