1 遷移原理與注意事項
Anolis OS 8在做出差異性開發同時,在生態上和依賴管理上保持跟CentOS8.x兼容,所以CentOS8.x遷移Anolis OS 8實現上,工具充分利用了兼容的特性,提供了一鍵式遷移腳本。centos2anolis.py。
CentOS 8.x遷移使用Anolis OS release相關的包替代CentOS release,通過yum distro-sync重裝當前系統中所有的系統軟件包。
軟件重裝的過程并不會修改當前系統基礎配置,所以系統配置,業務配置,業務數據都不會被清除,遷移完成后這些數據無需重新設置。
使用遷移腳本前需要注意如下事項:
?遷移過程涉及軟件包重裝,是不可逆過程,遷移前務必做好備份。
?遷移過程涉及到訪問Anolis OS 的官方repo,需要確保待遷移環境網絡能夠正常訪問Anolis OS repo。
?需要使用root用戶執行,當前只支持CentOS8.x系統的遷移,不支持CentOS stream系統遷移。
?遷移過程依賴于yum/dnf,確保這兩個組件能夠正常運行。
?遷移腳本提供了Anolis OS repo訪問加速的功能,如果訪問Anolis OS官方repo速度較慢,可以通過-s選項進行加速訪問。
?Anolis OS 不提供i686架構的軟件包,如您系統上安裝了CentOS的i686架構的軟件包,則無法正常遷移。
2 部署遷移工具
選項一 從本地 yum 源安裝遷移工具
如果待遷移系統無法訪問龍蜥 mirror,首先建議在內網搭建一套本地yum源。(如何做本地yum源 用戶名: rsync_user , 密碼: Rsync@2020) ,然后通過本地源安裝遷移工具。假設本地源地址為 http:///local.repo.com/anolis , 則下載遷移工具軟件源:
wget http:///local.repo.com/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo
然后執行下述命令將 /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
選項二 從社區 yum 源(mirrors.openanolis.cn) 安裝遷移工具
如果待遷移系統可以聯網,則下載遷移工具軟件源:
wget https:///mirrors.openanolis.cn/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo
安裝遷移工具centos2anolis:
yum -y install centos2anolis
3 遷移執行
選項一 使用本地 yum 源執行遷移
針對本地配置的龍蜥 yum 源, 該如何使用遷移工具進行遷移操作?
在無法接入到mirrors.openanolis.cn 或 mirrors.aliyun.com 時,可以使用本地源遷移系統。(如何做本地yum源 用戶名: rsync_user , 密碼: Rsync@2020)
1.在運行工具之前,新建或者編輯Anolis倉庫的repo文件:/etc/yum.repos.d/switch-to-anolis.repo (注意,請確保文件名為 switch-to-anolis.repo), 將對應的 repo baseurl 地址改成本地源 repo 地址, 譬如,假設本地源地址為 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.執行下面命令進行遷移
centos2anolis.py -l
上述命令是默認遷移到帶 ANCK 內核的龍蜥OS,如果你想遷移到帶 RHCK 內核的龍蜥OS請執行下面的命令進行遷移
centos2anolis.py -l –rhck
選項二 使用社區 yum 源(mirrors.openanolis.cn) 執行遷移
直接執行下述命令即可
centos2anolis.py
上述命令是默認遷移到帶 ANCK 內核的龍蜥OS,如果你想遷移到帶 RHCK 內核的龍蜥OS請執行下面的命令進行遷移
centos2anolis.py –rhck
遷移完成后,系統會提示如下信息,表示遷移成功,重啟即可進入Anolis OS系統。
centos2anolis.py提供了-V選項,用于記錄遷移前后的軟件包信息,您可以根據需要判斷是否添加選項。添加-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號停止維護,相應的CentOS源在2022年1月31號從官網刪除,導致CentOS實例無法正常使用repo,阿里云官方給出了切換使用CentOS Vault源的指導:https:///help.aliyun.com/document_detail/405635.html
如果您按照該指導切換使用CentOS Vault源或者自行配置使用Vault源,然后實施遷移Anolis OS,遷移完成后,需要檢查當前系統中是否殘留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
如上述結果所示,“CentOS-8.5.2111 – Base – mirrors.aliyun.com”就是殘留的CentOS repo,需要刪除,否則會出現Anolis OS和CentOS源共存的問題,一旦執行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/”
通過命令查看當前系統中是否有殘留CentOS軟件包,如果殘留kernel包,為正常現象,kernel包支持多版本共存。
rpm -qa –qf “%{NAME} %{VENDOR}\\n” | grep CentOS
6 注意
1)就地遷移失敗是否可回滾?
遷移工具不支持回滾,遷移失敗無法恢復到遷移初始狀態,遷移前務必做好系統備份。