1 遷移原理與注意事項
Anolis OS 8在做出差異性開發(fā)同時,在生態(tài)上和依賴管理上保持跟CentOS8.x兼容,所以CentOS8.x遷移Anolis OS 8實現(xiàn)上,工具充分利用了兼容的特性,提供了一鍵式遷移腳本。centos2anolis.py。
CentOS 8.x遷移使用Anolis OS release相關(guān)的包替代CentOS release,通過yum distro-sync重裝當(dāng)前系統(tǒng)中所有的系統(tǒng)軟件包。
軟件重裝的過程并不會修改當(dāng)前系統(tǒng)基礎(chǔ)配置,所以系統(tǒng)配置,業(yè)務(wù)配置,業(yè)務(wù)數(shù)據(jù)都不會被清除,遷移完成后這些數(shù)據(jù)無需重新設(shè)置。
使用遷移腳本前需要注意如下事項:
?遷移過程涉及軟件包重裝,是不可逆過程,遷移前務(wù)必做好備份。
?遷移過程涉及到訪問Anolis OS 的官方repo,需要確保待遷移環(huán)境網(wǎng)絡(luò)能夠正常訪問Anolis OS repo。
?需要使用root用戶執(zhí)行,當(dāng)前只支持CentOS8.x系統(tǒng)的遷移,不支持CentOS stream系統(tǒng)遷移。
?遷移過程依賴于yum/dnf,確保這兩個組件能夠正常運行。
?遷移腳本提供了Anolis OS repo訪問加速的功能,如果訪問Anolis OS官方repo速度較慢,可以通過-s選項進行加速訪問。
?Anolis OS 不提供i686架構(gòu)的軟件包,如您系統(tǒng)上安裝了CentOS的i686架構(gòu)的軟件包,則無法正常遷移。
2 部署遷移工具
選項一 從本地 yum 源安裝遷移工具
如果待遷移系統(tǒng)無法訪問龍蜥 mirror,首先建議在內(nèi)網(wǎng)搭建一套本地yum源。(如何做本地yum源 用戶名: rsync_user , 密碼: Rsync@2020) ,然后通過本地源安裝遷移工具。假設(shè)本地源地址為 http:///local.repo.com/anolis , 則下載遷移工具軟件源:
wget http:///local.repo.com/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo
然后執(zhí)行下述命令將 /etc/yum.repos.d/anolis-migration.repo 里面的baseurl地址替換為本地源地址。
sed -i "s#baseurl=https:///mirrors.openanolis.cn/#baseurl=http:///local.repo.com/#" /etc/yum.repos.d/anolis-migration.repo
sed -i "s#gpgkey=https:///mirrors.openanolis.cn/#gpgkey=http:///local.repo.com/#" /etc/yum.repos.d/anolis-migration.repo
安裝遷移工具centos2anolis:
yum -y install centos2anolis
選項二 從社區(qū) yum 源(mirrors.openanolis.cn) 安裝遷移工具
如果待遷移系統(tǒng)可以聯(lián)網(wǎng),則下載遷移工具軟件源:
wget https:///mirrors.openanolis.cn/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo
安裝遷移工具centos2anolis:
yum -y install centos2anolis
3 遷移執(zhí)行
選項一 使用本地 yum 源執(zhí)行遷移
針對本地配置的龍蜥 yum 源, 該如何使用遷移工具進行遷移操作?
在無法接入到mirrors.openanolis.cn 或 mirrors.aliyun.com 時,可以使用本地源遷移系統(tǒng)。(如何做本地yum源 用戶名: rsync_user , 密碼: Rsync@2020)
1.在運行工具之前,新建或者編輯Anolis倉庫的repo文件:/etc/yum.repos.d/switch-to-anolis.repo (注意,請確保文件名為 switch-to-anolis.repo), 將對應(yīng)的 repo baseurl 地址改成本地源 repo 地址, 譬如,假設(shè)本地源地址為 http:///local.repo.com/anolis , 則配置文件如下
[an8_baseos]
name=AnolisOS-8 - BaseOS
baseurl=http:///local.repo.com/anolis/8/BaseOS/$basearch/os
gpgcheck=0
enabled=1
[an8_appstream]
name=AnolisOS-8 - AppStream
baseurl=http:///local.repo.com/anolis/8/AppStream/$basearch/os
gpgcheck=0
enabled=1
1.執(zhí)行下面命令進行遷移
centos2anolis.py -l
上述命令是默認(rèn)遷移到帶 ANCK 內(nèi)核的龍蜥OS,如果你想遷移到帶 RHCK 內(nèi)核的龍蜥OS請執(zhí)行下面的命令進行遷移
centos2anolis.py -l --rhck
選項二 使用社區(qū) yum 源(mirrors.openanolis.cn) 執(zhí)行遷移
直接執(zhí)行下述命令即可
centos2anolis.py
上述命令是默認(rèn)遷移到帶 ANCK 內(nèi)核的龍蜥OS,如果你想遷移到帶 RHCK 內(nèi)核的龍蜥OS請執(zhí)行下面的命令進行遷移
centos2anolis.py --rhck
遷移完成后,系統(tǒng)會提示如下信息,表示遷移成功,重啟即可進入Anolis OS系統(tǒng)。
centos2anolis.py提供了-V選項,用于記錄遷移前后的軟件包信息,您可以根據(jù)需要判斷是否添加選項。添加-V選項,遷移完成后會在/var/tmp目錄下生成遷移前后的rpm信息,命名格式為:
# 遷移前
$(hostname)-rpms-list-before.log
$(hostname)-rpms-verified-before.log
# 遷移后
$(hostname)-rpms-list-after.log
$(hostname)-rpms-verified-after.log
4 遷移后配置檢查
CentOS在2021年12月31號停止維護,相應(yīng)的CentOS源在2022年1月31號從官網(wǎng)刪除,導(dǎo)致CentOS實例無法正常使用repo,阿里云官方給出了切換使用CentOS Vault源的指導(dǎo):https:///help.aliyun.com/document_detail/405635.html
如果您按照該指導(dǎo)切換使用CentOS Vault源或者自行配置使用Vault源,然后實施遷移Anolis OS,遷移完成后,需要檢查當(dāng)前系統(tǒng)中是否殘留CentOS Vault源。
通過命令yum repolist檢查:
# yum repolist
Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-Linux-epel.repo; 配置:ID 為 "failovermethod" 的 OptionBinding 不存在
Repository PowerTools is listed more than once in the configuration
Repository AppStream is listed more than once in the configuration
倉庫 id 倉庫名稱
AppStream AnolisOS-8 - AppStream
BaseOS AnolisOS-8 - BaseOS
Extras AnolisOS-8 - Extras
PowerTools AnolisOS-8 - PowerTools
base CentOS-8.5.2111 - Base - mirrors.aliyun.com
epel Extra Packages for Enterprise Linux 8 - x86_64
extras CentOS-8.5.2111 - Extras - mirrors.aliyun.com
如上述結(jié)果所示,“CentOS-8.5.2111 - Base - mirrors.aliyun.com”就是殘留的CentOS repo,需要刪除,否則會出現(xiàn)Anolis OS和CentOS源共存的問題,一旦執(zhí)行yum update可能會錯誤地安裝CentOS的包。
刪除CentOS源的方法和步驟如下:
1.查找提供CentOS repo的配置文件
# grep -rn "CentOS-8.5.2111" /etc/yum.repos.d/*.repo
/etc/yum.repos.d/Centos-vault-8.5.2111.repo:14:name=CentOS-8.5.2111 - Base - mirrors.aliyun.com
/etc/yum.repos.d/Centos-vault-8.5.2111.repo:24:name=CentOS-8.5.2111 - Extras - mirrors.aliyun.com
/etc/yum.repos.d/Centos-vault-8.5.2111.repo:34:name=CentOS-8.5.2111 - Plus - mirrors.aliyun.com
/etc/yum.repos.d/Centos-vault-8.5.2111.repo:43:name=CentOS-8.5.2111 - PowerTools - mirrors.aliyun.com
/etc/yum.repos.d/Centos-vault-8.5.2111.repo:53:name=CentOS-8.5.2111 - AppStream - mirrors.aliyun.com
1.重命名步驟1找到的配置文件
mv /etc/yum.repos.d/Centos-vault-8.5.2111.repo /etc/yum.repos.d/Centos-vault-8.5.2111.repo.bak
5 遷移后驗證
查看os版本:
# cat /etc/os-release
NAME="Anolis OS"
VERSION="8.5"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="8.5"
PLATFORM_ID="platform:an8"
PRETTY_NAME="Anolis OS 8.5"
ANSI_COLOR="0;31"
HOME_URL="https:///openanolis.cn/"
通過命令查看當(dāng)前系統(tǒng)中是否有殘留CentOS軟件包,如果殘留kernel包,為正?,F(xiàn)象,kernel包支持多版本共存。
rpm -qa --qf "%{NAME} %{VENDOR}\\\\n" | grep CentOS
6 注意
1)就地遷移失敗是否可回滾?
遷移工具不支持回滾,遷移失敗無法恢復(fù)到遷移初始狀態(tài),遷移前務(wù)必做好系統(tǒng)備份。