CentOS 7:从 CentOS 6.x 升级
2023-06-08 08:00:00
·
飞浪
·
·考克斯
CentOS7中新增的功能之一是能够将CentOS6.x就地升级到CentOS7。过去,升级CentOS主要版本的唯一官方方法是清除并重新安装所有内容。话虽如此,但总有一些流程可以遵循,成功程度各
CentOS 7 中新增的功能之一是能够将 CentOS 6.x 就地升级到 CentOS 7。过去,升级 CentOS 主要版本的唯一官方方法是清除并重新安装所有内容。话虽如此,但总有一些流程可以遵循,成功程度各不相同(取决于是否偏离官方存储库以及您的设置和软件包列表的自定义程度)。我们已经执行了这个过程大约六次,成功程度各不相同,所以让我们来谈谈一些成功和失败的例子。成功和失败的情况同样,有“方法”可以完成升级。在这篇文章中,我们将严格关注 CentOS 维护者支持的官方流程。鉴于此,下面是可能失败的升级的快速列表(对我们来说,所有升级都以多种方式失败):
-
- 偏离官方存储库 - 如果您使用 EPEL、US 或任何其他非官方但主要的存储库,您的情况可能会有所不同,但预计会出现问题。在多台使用 EPEL 软件包进行相当原始设置的服务器的情况下,所有三台服务器都因软件包一致性、依赖性或冲突错误而失败。
- 在运行预升级过程之前没有确保您完全处于最新状态。出于某种原因,在正确运行 CentOS 6.5(截至本文撰写之日,最新的也是最后一个 6.x 版本)之前运行预升级过程,后续升级尝试可能会失败。一定有一些升级列表缓存在某个地方,在更新到 6.5 并重新运行后没有被正确删除/覆盖/重新生成。我们将对这个问题进行进一步研究,但要小心。
- 安装在存储库之外的第三方软件包 - 当然,有很多原因可能导致您从存储库之外的各个地方下载并安装软件包,尤其是在企业环境中。不幸的是,升级过程似乎不够成熟,无法始终捕获依赖项,最终要么升级失败(最好的情况下),要么升级成功但破坏了您在这些存储库之外安装的所有软件,您必须手动修复依赖项或配置。
那么什么方法有效呢?嗯,一贯地,使用标准(即默认)存储库作为安装软件的唯一方法,在最新的 CentOS 6.5 版本上进行安装在大多数情况下都是有效的。我说大多数时候是因为根据您从这些标准存储库安装的软件,各种事情仍然会失败。很明显,这对 CentOS 维护者来说是一个全新的事物,就像其他任何事情一样,正在经历成长的烦恼。现在让我们忽略所有这些,并逐步完成升级的官方流程。那么我该怎么做呢?在新安装并更新到最新版本的 CentOS 6.5 副本上,运行一个程序,它将扫描您的系统并确定您的升级状态(称为 Preupgrade Assistant)。打开命令提示符并键入以下内容以查看类似于下面显示的输出:$ sudo preupgPreupg tool doesn't do the actual upgrade.Please ensure you have backed up your system and/or data in the event of a failed upgradethat would require a full re-install of the system from installation media.Do you want to continue? y/nyGathering logs used by preupgrade assistant:All installed packages : 01/10 ...finished (time 00:00s)All changed files : 02/10 ...finished (time 00:48s)Changed config files : 03/10 ...finished (time 00:00s)All users : 04/10 ...finished (time 00:00s)...042/100 ...done (samba shared directories selinux)043/100 ...done (CUPS Browsing/BrowsePoll configuration)044/100 ...done (CVS Package Split)...|samba shared directories selinux |notapplicable ||CUPS Browsing/BrowsePoll configuration |notapplicable ||CVS Package Split |notapplicable |...
奇怪的是,这个特定的过程除了让您知道升级过程中可能出现的问题之外什么也不做。它既不执行升级,也不帮助您缓解它发现的任何问题。所有这些都是使用仍然以其 Red Hat 起源命名的工具完成的 - redhat-upgrade-tool-cli。在运行它之前,请务必先从命令提示符导入 CentOS 7 密钥,否则它将失败:$ sudo rpm --import https://isoredirect.centos.org/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
现在您可以运行实际的工具了。例如,我用来成功将我的 BASE CentOS 6.5 安装升级到 CentOS 7 的命令如下:$ sudo /usr/bin/redhat-upgrade-tool-cli --network 7 --instrepo=https://mirror.centos.org/centos/7/os/x86_64
此时,升级过程检索新的启动映像,下载必要的软件包,然后要求重新启动。在此过程中,如果出现错误或升级工具拒绝运行,则可能由以下两种情况之一导致:(1)您忘记运行preupg工具或(2)由于某种原因,它无法识别您已经运行过。如果您不想运行该工具或它忘记您已经运行过,请在第一个参数中添加 --force标志,然后它应该会在此时正常进行。最后的想法这是 CentOS 前进的正确方向。强制完全重新安装整个操作系统和所有软件包以及随之而来的麻烦的旧模式对于 2014 年来说太过时了。我们已经采取了一些小步骤将这个升级过程带入现代时代,尽管目前充满了问题和麻烦,但这个过程已经开始了。请在下面的评论中告诉我们您的努力是否成功,以及您在尝试时可能遇到了哪些具体问题!
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~