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