首页 > 其他 > 详细

centos7.4使用本地yum源升级到7.6遇到的问题以及解决办法

时间:2020-12-17 15:39:02      阅读:198      评论:0      收藏:0      [点我收藏+]

一、场景说明

客户环境有三台服务器都是CentOS 7.4.1708的操作系统,现要升级为Centos 7.6 1810。
但是由于客户环境服务器不能联网,所以只能以挂载ISO镜像作为本地yum源的方式进行升级,下面来讲升级步骤和过程中遇到的问题
阿里云CentOS 7.6 1810的下载地址:
https://mirrors.aliyun.com/centos-vault/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso

二、开始升级

1.使用ssh工具并使用root用户登陆操作系统

2.检查CentOS版本

cat /etc/redhat-release

技术分享图片

3.使用ftp工具将CentOS-7-x86_64-DVD-1810.iso文件上传到/root目录

4.挂载iso文件

mkdir /mnt/cdrom
cd /root
mount ./CentOS-7-x86_64-DVD-1810.iso /mnt/cdrom

技术分享图片

5.备份系统repo文件,备份完成后/root目录文件如下图所示

技术分享图片

6.编辑本地源repo文件,以下是一条命令,请注意复制整体,按回车执行

cat << EOF > /etc/yum.repos.d/CentOS-Media.repo 
[Media] 
name=CentOS Media 
baseurl=file:///mnt/cdrom 
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 
enabled=1 
EOF

7.更新yum缓存

yum clean all

技术分享图片

yum makecache

技术分享图片

8.更新系统

yum update

技术分享图片
技术分享图片
技术分享图片
技术分享图片
9.检查CentOS版本,正常情况下如下图已经更新到Centos 7.6 1810

cat /etc/redhat-release

技术分享图片
10.重启服务器,重启好后参考单机环境和集群环境的服务验证流程进行验证

reboot

三、问题来了

正常情况下,使用第二部分的操作是可以直接升级操作系统的,但是由于服务器上部署的程序使用了自己的rpm包,导致这部分rpm包的某些包和CentOS 7.6的包存在冲突。
冲突大概有一下两种:

错误现象一:

错误:软件包:xxxx(installed)
      需要:xxxx
      正在删除:xxxx
      更新:xxxx

技术分享图片
解决思路就是先卸载,升级完操作系统后再安装新版本
以上图为例我们需要先卸载ntp包

# 卸载ntp
yum remove -y ntp-4.2.6p5-22.el7.centos.x86_64
# 升级操作系统
yum update
# 安装新版本ntp
yum install -y ntp-4.2.6p5-28.el7.centos.x86_64

具体每个服务器都不一样,总体思路就是先卸载,卸载到yum update可以正常运行即可,系统升级完成后再将需要安装的新版本安装即可。

错误现象二:

错误:软件包:xxxx
      需要:xxxx

技术分享图片
这种由于没有指定具体版本的冲突,我这边没有处理,还是按照现象一的方案卸载掉在更新操作系统,只不过没办法安装指定的新版本

错误现象三:openssl冲突

技术分享图片
openssl是一个比较核心的系统运行库,还是一样的方案,先卸载。

yum remove -y openssl-1.0.2q-1.x86_64

但是卸载完成后出现了一个很严重的问题,yum命令直接用不了了,不要急,由于我们挂载的是DVD版本的系统镜像,我们可以从镜像的Packages中找到对应的rpm包直接安装

cd /mnt/cdrom/Packages
rpm -ivh openssl-1.0.2k-16.el7.x86_64.rpm openssl-libs-1.0.2k-16.el7.x86_64.rpm

此时yum命令已经恢复了,但是新的问题来了,如果此时重启操作系统会发现ssh连不上了,不要问我为什么知道。其实卸载openssl的时候已经告诉我们openssh已经连着一块卸载了,只是当时没有注意看。
所以我们现在要将openssh先安装回来在重启服务器验证

# 安装openssh
yum install -y openssh-server
# 启动ssh
systemctl enable sshd
service sshd start 

此时就可以重启服务器了。其实应该是不用重启服务器的,但是为了保险还是做了一下重启(不然ssh连接不了的问题就发现不了了0.0)

cat /etc/redhat-release
reboot

centos7.4使用本地yum源升级到7.6遇到的问题以及解决办法

原文:https://www.cnblogs.com/simple-young/p/9766675.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!