客户环境有三台服务器都是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
cat /etc/redhat-release
mkdir /mnt/cdrom
cd /root
mount ./CentOS-7-x86_64-DVD-1810.iso /mnt/cdrom
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
yum clean all
yum makecache
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是一个比较核心的系统运行库,还是一样的方案,先卸载。
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