天天看點

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

、更新評估

#preupg

、挂載Iso鏡像

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

、強制更新

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

、重新開機伺服器

#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,最終通過把正常機器上的 對應檔案拷貝過來,并建立軟連結指令可用。