CentOS6.x到CentOS7.x的在线升级
缘起
相比Debian系的Linux发布版(如Debian、Ubuntu),都能很好地支持在线大版本升级,RedHat系的Linux发布版(如RedHat、CentOS),其大版本升级一直是为人所诟病的问题。
这种情况到了CentOS7,终于有了改观:RedHat放出了UpgradeTool,同样,CentOS自然也有了。
注意:如果已经是CentOS6.7以后的版本了,在线升级到CentOS7可能会有问题,因为CentOS6.7以后版本有些软件的版本已经比CentOS7还高了,升级可能会出问题。
具体步骤
安装软件
1 | cat <<EOF >/etc/yum.repos.d/upgradetool.repo |
升级前可行性分析
1 | preupg -l; # 列出预升级的可用内容,多半是"CentOS6_7" |
开始升级
1 | rpm --import \ |
收尾工作
机器起来后,登上服务器,需要做一些擦屁股的工作,比如,看还有没有CentOS6的软件残余,用命令:
1 | # 首先看能否删掉这些el6的软件包 |
有的话要么想办法删掉,要么想办法将其升级到el7的相应的软件包。
可能出的错误
如果preupg -s CentOS6_7;时出了如下的错误:
I/O warning : failed to load external entity “/usr/share/openscap/xsl/security-guide.xsl”
compilation error: file /usr/share/preupgrade/xsl/preup.xsl line 40 element import
xsl:import : unable to load /usr/share/openscap/xsl/security-guide.xsl
I/O warning : failed to load external entity “/usr/share/openscap/xsl/oval-report.xsl”
compilation error: file /usr/share/preupgrade/xsl/preup.xsl line 41 element import
xsl:import : unable to load /usr/share/openscap/xsl/oval-report.xsl
I/O warning : failed to load external entity “/usr/share/openscap/xsl/sce-report.xsl”
compilation error: file /usr/share/preupgrade/xsl/preup.xsl line 42 element import
xsl:import : unable to load /usr/share/openscap/xsl/sce-report.xsl
OpenSCAP Error:: Could not parse XSLT file ‘/usr/share/preupgrade/xsl/preup.xsl’ [oscapxml.c:416]
Unable to open file /root/preupgrade/result.html
Usage: preupg [options]
preupg: error: [Errno 2] No such file or directory: ‘/root/preupgrade/result.html’
那么应该是openscap的版本过高,需要降级到upg里的版本。
1 | yum downgrade openscap; |