Centos升级6=>7

首先说一下升级,从centos6.X版本升级至centos7.2版本算是一个比较大的跨越性的升级,会考虑到的问题也比较多,一些内核兼容不兼容,会不会缺失什么必要文件导致不能启动,不能正常使用,这些原本的文件服务会不会丢失,我们带着这些疑问跟随我进行升级一下!

升级步骤 Centos6.X —>Centos7.2 ----> Centos7.9

这是一台测试服务器没什么特殊的服务版本为Centos6.10 升级的步骤我也是查阅了很多的资料,可以说是文章千篇一律但是能用的可能就那一章,也算是跟随着报错pass一篇一篇文章。

☆Centos6.X升级至Centos7.2

查看当前CentOS版本

cat /etc/redhat-release

更新源

vim /etc/yum.repos.d/upgrade.repo

输入以下内容:

[upgrade]name=upgrade
baseurl=https://buildlogs.centos.org/centos/6/upg/x86_64/enable=1gpgcheck=0

卸载6.x自带的openscap,并安装老版本

yum erase openscap
yum install https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm

安装助手

yum install redhat-upgrade-tool preupgrade-assistant-contents

检测版本升级的风险,如果控制台输出了错误信息,需要查询下解决方案并解决

preupg -s CentOS6_7

更新系统

只支持6.5及以上系统升级到不高于7.2系统

1. 在线更新

centos-upgrade-tool-cli --network 7 --instrepo=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.2.1511/os/x86_64/ --force

2. 本地更新

cd /tmp
wget https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.2.1511/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso
centos-upgrade-tool-cli --iso=/tmp/CentOS-7-x86_64-DVD-1511.iso

注意

升级有风险,升级不一定成功,软件包安装越少成功几率越高。

升级完成之后进行重启

reboot




☆升级成功后问题解决

重启之后当天我就下班了,第二天满怀欣喜的打开xshell显示不能远程连接但是ping是没问题的,我带着显示器来到了机房查看服务器,root账号密码都没问题进行登录,当前的文件也都还在,排查一下为什么不能ssh登录

无法进行ssh登录

#最开始第一眼让我高兴的事情就是升级成功为centos7.2了。[root@node07 ~]# cat /etc/redhat-release 
CentOS Linux release 7.2#首先查看当前运行的服务
netstat -tunlp
显示我这里只运行一个mysql数据库,并没看到sshd服务器在运行

systemctl start sshd #启动sshd服务
命令行并没有报错,再次查看netstat -tunlp还没发现此服务

journalctl -f -u sshd
可以看到报错缺失文件libsasl2.so.2libsasl2.so.2: cannot open shared object file: No such file or directory

这个服务器yum也不能使用也是因为确实libsasl2.so.2文件,但是能联网ping通百度
我想的方法是查看其他centos7的服务器是否有这个文件然后上传到一个私人网盘进行wget
下来到目录,去到其他服务器并没有看到此文件,心凉了一截。。。感觉可能要重做系统了,
百度查阅资料查了一大圈真的是千篇一律的文章,解决不了根本问题实际问题,下面这个方法
一定要记住解决此报错很好用!

解决缺失文件libsasl2.so.2

显示是找不到libsasl2.so.2 这个库。 其实在Centos 7中是有这个库的,只不过不叫这个名字,进入到/usr/lib64/目录下查看

[root@localhost bin]$ cd /usr/lib64[root@localhost lib64]$ ls libsasl2.so.* -l
lrwxrwxrwx. 1 root root     17 Oct 17  2016 libsasl2.so.3 -> libsasl2.so.3.0.0-rwxr-xr-x. 1 root root 121296 Jun 10  2014 libsasl2.so.3.0.0[root@localhost lib64]$

发现有一个库libsasl2.so.3,那么我们只要使用一个软连接,连接到libsasl2.so.2即可

[root@localhost lib64]# ln -s libsasl2.so.3 libsasl2.so.2[root@localhost lib64]# ls libsasl2.so.* -l
lrwxrwxrwx  1 root root     13 Nov 19 18:00 libsasl2.so.2 -> libsasl2.so.3lrwxrwxrwx. 1 root root     17 Oct 17  2016 libsasl2.so.3 -> libsasl2.so.3.0.0-rwxr-xr-x. 1 root root 121296 Jun 10  2014 libsasl2.so.3.0.0[root@localhost lib64]#

再次启动sshd服务成功

systemctl start sshd

使用xshell连接成功!

grep命令报错,缺失libpcre.so.0文件

[root@node07 opt]# grepgrep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
方法同上:
cd /usr/lib64[root@node07 lib64]# ls libpcre.so*libpcre.so  libpcre.so.1  libpcre.so.1.2.0[root@node07 lib64]# ln -s libpcre.so.1 libpcre.so.0[root@node07 ~]# ls | grep app #命令恢复
app

更换yum源

cd /etc/#备份
mv yum.repos.d yum.repos.d_backup
mkdir yum.repos.d
#获取阿里云yum源
cd /etc/yum.repos.d
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget https://mirrors.aliyun.com/repo/epel-7.repo
#清除缓存&更新yum源
yum clean all
yum makecache

☆Centos7.2升至Centos7.9

yum update  #升级所有包同时也升级软件和系统内核;
由于是从centos6升级到7的还是进行update一下比较好。
升级完毕查看版本升级到了centos7.9[root@node07 ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)