使用可用源从CentOS6升级到CentOS7

参考:
https://tlanyan.me/upgrade-ce...
https://blog.51cto.com/moerji...
https://blog.csdn.net/hjnth/a...

说明

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

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

升级

配置升级工具upgradetool源

cat>/etc/yum.repos.d/upgradetool.repo<

或者

cat </etc/yum.repos.d/upgrade.repo
[upgrade]
name=upgrade
baseurl=https://buildlogs.centos.org/centos/6/upg/x86_64/
enable=1
gpgcheck=0
EOF

安装升级工具

为防止报错 preupg: error: [Errno 2] No such file or directory: '/root/preupgrade/result.html',重新装旧版本的openscp
yum erase openscap -y &&\
yum install -y http://buildlogs.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm &&\
sudo yum install -y preupgrade-assistant-contents redhat-upgrade-tool preupgrade-assistant

升级前可行性分析

查看支持的升级

preupg -l

执行升级分析

preupg -s CentOS6_7
没有提示出错,可以继续下一步。否则请检查!!!要全部PASS才可以。

上面这个命令生成的报告需要看看,主要是关于升级的风险的
个人经验就是升级前尽量将非官方的rpm安装的软件都删掉
安装的第三方的rpm包越少,升级的风险越小

导入CentOS7的key

多个源镜像

官方源:

rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
rpm --import http://vault.centos.org/centos/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7

阿里源:

rpm --import https://mirrors.aliyun.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7

升级系统

多个源镜像

官方源:

redhat-upgrade-tool-cli --force --network 7 --instrepo=http://mirror.centos.org/centos/7/os/x86_64
redhat-upgrade-tool-cli --force --network 7 --instrepo=http://vault.centos.org/centos/7.2.1511/os/x86_64/

阿里源:

redhat-upgrade-tool --force --network 7.0 --instrepo=http://mirrors.aliyun.com/centos/7/os/x86_64/

新华大学源:

centos-upgrade-tool-cli --force --network 7 --instrepo=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.2.1511/os/x86_64/
如果遇到报错 Error: database disk image is malformed,清除缓存,再次重试
yum clean dbcache

重启服务器

reboot 

收尾工作

机器起来后,登上服务器,需要做一些擦屁股的工作,比如,看还有没有CentOS6的软件残余,用命令:
rpm -qa | grep -i el6;
有的话要么想办法删掉,要么想办法将其升级到el7的相应的软件包。

升级完成后遇到的问题

ssh、yum不可用问题:

vi /root/start.sh 输入以下内容:
#!/bin/bash
ln -s /usr/lib64/libsasl2.so.3.0.0 /usr/lib64/libsasl2.so.2
ln -s /usr/lib64/libpcre.so.1.2.0 /usr/lib64/libpcre.so.0
service sshd restart
rm -rf /etc/rc.d/rc.local 
mv /etc/rc.d/rc.local.bak /etc/rc.d/rc.local #恢复原始文件
rm -rf /root/start.sh #删除自身
执行以下命令
chmod +x start.sh &&\
chmod +x /etc/rc.d/rc.local &&\
# 创建备份
cp /etc/rc.d/rc.local /etc/rc.d/rc.local.bak &&\
# 添加脚本为开机自启动
echo 'bash /root/start.sh' >>/etc/rc.d/rc.local
重启后看下ssh是否可以正常连接
reboot

ps工具不可用问题:

yum upgrade -y &&\
yum downgrade grep &&\
yum upgrade python &&\
yum update

你可能感兴趣的:(centos6.5,centos6.6,centos6.7,centos7,centos)