CentOS6离线升级CentOS7

利用本地centos7镜像升级centos6.7

需求背景:

服务器上安装的都是centos6.7,新部署的服务需要在centos7下,要么跑到机房重装系统,要么找离线解决方案,升级系统。
解决方案:之前有过离线升级小本版,从centos7.0升级内核到7.2,照着原来的思路挂载本地镜像,新建本地repo源,尝试yum update 执行了很久,没有看到明显的异常就失败了,上网搜了一下解决方案,基本全是在线升级。于是尝试下载升级工具拷贝到目标服务器后,用升级工具加载本地镜像。

步骤如下:通过另一台在线相同系统的机器,yum install –downloadonly –downloaddir=xxx xxx的方式下载

1、新建update repo 源用于安装redhat-upgrade-tool

   # vi /etc/yum.repos.d/upgrade.repo

 [upgrade]

name=upgrade

baseurl=http://dev.centos.org/centos/6/upg/x86_64/

enable=1

gpgcheck=0

保存退出。

2、安装软件工具

# yum -y install preupgrade-assistant-contents redhat-upgrade-tool preupgrade-assitant

3、升级评估

#preupg

4、挂载Iso镜像

# mount /dev/cdrom /mnt/cdrom/***.iso

5、强制升级

# redhat-upgrade-tool-cli --device=/dev/cdrom --force

6、重启服务器

#reboot

遇到的问题:

1、由于preupgrade-assistant-contents 工具都是通过另一台机器安装,安装过程中,有各种版本间的不兼容,报错。

1)下载在libxml2-2.7.6-21与原来centos6.7安装在libxml2-2.7.6-20冲突导致,preupgrade-assistant-contents安装失败,通过yum remove在形式卸载系统报错,受保护的repo无法卸载。只好通过 rpm -e –nodeps *的方式强制卸载。

2) 由于pcre版本冲突,卸载后报错找不到共享的 libpcre.so.0 等多种问题,导致系统的命令不可用,如‘ls vi 等多种命令不可用’ 查找解决方案,系统 /lib64 下 libpcre***.so 和多种 so.0,最终通过把正常机器上的 对应文件拷贝过来,并建立软链接命令可用。

你可能感兴趣的:(linux系统运维)