centos6升级到7.2-----2023年

CentOS 6 升级到 CentOS 7

准确的说,是从 CentOS 6.5 先升级到 CentOS 7.2。只有 6.5 以上版本才能这么升级,而且最高只能升级到 7.2。
现在的问题是官网已经不再维护 CentOS 6 了,CentOS 6 要如何使用 yum 源?其实,官网的历史版本还是有的,地址是:https://vault.centos.org/。当然,我们还是使用清华大学的镜像站:https://mirrors.tuna.tsinghua.edu.cn/centos-vault。

【友情提醒】升级有风险,操作需谨慎。

我准备的操作系统是 CentOS 6.5:

[root@RicenOS ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
一、配置清华大学镜像 yum 源:
[root@RicenOS ~]# rm -rf /etc/yum.repos.d/CentOS-{Debuginfo,Media,Vault}.repo
CentOS 6 最高版本是 6.10,当然,也可以使用操作系统对应版本的 yum 源,我这里使用最高版本 6.10 的 yum 源:

[root@RicenOS ~]# sed -i -e ‘/mirrorlist=/d’ \

-e ‘s|^#baseurl=http://mirror.centos.org/centos/$releasever|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.10|g’
-e ‘/gpgkey=/d’
-e ‘s|^gpgcheck=1|gpgcheck=0|g’
/etc/yum.repos.d/CentOS-Base.repo
由于访问的是 https,还需要关闭证书的认证:

[root@RicenOS ~]# echo “sslverify=false” >> /etc/yum.conf
更新软件包缓存:

[root@RicenOS ~]# yum makecache
对于 CentOS 6.5 以下版本,建议使用如下命令升级到 CentOS 6.10:

[root@RicenOS ~]# yum update -y
对于 CentOS 6.5 以上版本,可使用当前版本继续以下操作。

二、升级 yum 工具
安装证书:

[root@RicenOS ~]# yum install ca-certificates -y
启用证书认证:

[root@RicenOS ~]# sed -i ‘/sslverify=/d’ /etc/yum.conf
升级 nss:

[root@RicenOS ~]# yum update nss -y
升级 yum:

[root@RicenOS ~]# yum update yum -y
三、配置升级工具 yum 源
[root@RicenOS ~]# cat > /etc/yum.repos.d/CentOS-Upgrade.repo << EOF

[CentOS-Upgrade]
name=CentOS-Upgrade
baseurl=https://buildlogs.centos.org/centos/6/upg/$basearch/
enabled=1
gpgcheck=0
EOF
四、安装 libxslt
[root@RicenOS ~]# yum install libxslt -y
五、移除基础 yum 源
[root@RicenOS ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
清除 yum 缓存:

[root@RicenOS ~]# yum clean all
更新软件包缓存:

[root@RicenOS ~]# yum makecache
六、安装 openscap
[root@RicenOS ~]# yum install openscap -y
七、恢复基础 yum 源
[root@RicenOS ~]# mv /etc/yum.repos.d/CentOS-Base.repo.bak /etc/yum.repos.d/CentOS-Base.repo
八、安装 preupgrade-assistant-contents、redhat-upgrade-tool
[root@RicenOS ~]# yum install preupgrade-assistant-contents redhat-upgrade-tool -y
九、导入 CentOS 7 GPG Key
[root@RicenOS ~]# rpm --import https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7
十、预升级
[root@RicenOS ~]# yes | preupg -v
确认没有问题后,继续以下操作。

十一、在线升级
注意:最高只允许升级到 7.2.1511 版本。

[root@RicenOS ~]# centos-upgrade-tool-cli --network 7 --instrepo=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.2.1511/os/x86_64/
输入“y”,继续升级:

Continue with the upgrade [Y/N]? y
重启:

[root@RicenOS ~]# reboot
重启完以后,网卡没有启动,需要手动进行修复:

[root@RicenOS ~]# ln -s /usr/lib64/libpcre.so.1.2.0 /usr/lib64/libpcre.so.0
[root@RicenOS ~]# ln -s /usr/lib64/libsasl2.so.3.0.0 /usr/lib64/libsasl2.so.2
[root@RicenOS ~]# systemctl restart network
十二、升级后的清理工作
1、删除升级工具
[root@RicenOS ~]# yum erase redhat-upgrade-tool -y
2、配置 CentOS 7 yum 源
删除 CentOS 6 yum 源:

[root@RicenOS ~]# rm -rf /etc/yum.repos.d/redhat-upgrade-*
[root@RicenOS ~]# rm -rf /etc/yum.repos.d/CentOS-Upgrade.repo
[root@RicenOS ~]# rm -rf /etc/yum.repos.d/CentOS-Base.repo
恢复 CentOS 7 基础 yum 源:

[root@RicenOS ~]# mv /etc/yum.repos.d/CentOS-Base.repo.rpmnew /etc/yum.repos.d/CentOS-Base.repo
配置清华大学镜像 yum 源:

[root@RicenOS ~]# sed -i -e ‘s|^mirrorlist=|#mirrorlist=|g’ \

-e ‘s|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g’
-e ‘/gpgkey=/d’
-e ‘s|^gpgcheck=1|gpgcheck=0|g’
/etc/yum.repos.d/CentOS-*.repo
清除 yum 缓存:

[root@RicenOS ~]# yum clean all
更新软件包缓存:

[root@RicenOS ~]# yum makecache
3、升级软件包
通过命令 rpm -qa | grep -i el6 可以看到,还存在大量的 el6 残留软件包。这里,我写了一个 shell 脚本进行批量升级:

[root@RicenOS ~]# vi autoUpdate.sh
代码如下:

#!/bin/bash

功能:批量升级 CentOS 6 软件包

注意语法格式

done 和 < 之间没有空格

两个 < 之间有一个空格

< 和 ( 之间没有空格

##########################
while read line
do
softname=${line%-}
yum update ${softname%-
} -y
done< <(rpm -qa | grep -i el6)
exit 0
赋予可执行权限:

[root@RicenOS ~]# chmod +x autoUpdate.sh
执行批量升级:

[root@RicenOS ~]# ./autoUpdate.sh
4、降级软件包
由于 CentOS 6 有些软件包的版本比 CentOS 7 的版本要高,这些软件包不能进行升级,而应该进行降级。这里,我写了一个 shell 脚本进行批量降级:

[root@RicenOS ~]# vi autoDowngrade.sh
代码如下:

#!/bin/bash

注意语法格式

done 和 < 之间没有空格

两个 < 之间有一个空格

< 和 ( 之间没有空格

##########################
while read line
do
softname=${line%-}
yum downgrade ${softname%-
} -y
done< <(rpm -qa | grep -i el6)
exit 0
赋予可执行权限:

[root@RicenOS ~]# chmod +x autoDowngrade.sh
执行批量降级:

[root@RicenOS ~]# ./autoDowngrade.sh
5、删除 CentOS 6 残留软件包
通过升级、降级操作,剩下的 el6 为残留软件包。这里,我写了一个 shell 脚本进行批量删除:

[root@RicenOS ~]# vi autoRemove.sh
代码如下:

#!/bin/bash

功能:批量卸载 CentOS 6 软件包

注意语法格式

done 和 < 之间没有空格

两个 < 之间有一个空格

< 和 ( 之间没有空格

##########################
while read line
do
yum erase ${line} -y
done< <(rpm -qa | grep -i el6)
exit 0
赋予可执行权限:

[root@RicenOS ~]# chmod +x autoRemove.sh
执行批量删除:

[root@RicenOS ~]# ./autoRemove.sh
十三、升级到 CentOS 7 最新版本
[root@RicenOS ~]# yum update -y
重启:

[root@RicenOS ~]# reboot
检查升级后的版本:

[root@RicenOS ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

备用的centos6 Yum源

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值