友情提醒
升級前記得備份伺服器上的資料,升級到 Centos 8 後不久(大概幾個小時)就被人掛了馬
,反正是測試機,也懶得去找問題出在哪裡,直接重灌了系統,雲伺服器建議大家儘量通過官方提供的映象升級,方便快捷,自己手動升級會碰到一些奇奇怪怪的問題需要解決
準備工作
備份
zip -r -q -o /etc/yum.repos.d/CentOS-Base_backup.zip /etc/yum.repos.d/*
cd /etc/yum.repos.d/
ls | grep -v CentOS-Base_backup.zip | xargs rm
設定映象源為阿里雲
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
非阿里雲ECS使用者會出現 Couldn’t resolve host ‘mirrors.cloud.aliyuncs.com’ 資訊,不影響使用。使用者也可自行修改相關配置: eg:
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
生成快取
yum makecache
配置 Epel 映象
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
開始升級
安裝 yum-utils 工具
yum install -y yum-utils
通過執行命令來解析 RPM 軟體包
yum install -y rpmconf
rpmconf -a
全部選擇預設配置
default =
什麼,就選擇什麼
對未安裝或不需要的包執行清理
package-cleanup --leaves
package-cleanup --orphans
安裝 dnf
dnf
是 CentOS 8 的預設軟體包管理器
yum install -y dnf
刪除 yum 軟體包管理器
dnf -y remove yum yum-metadata-parser
rm -rf /etc/yum
使用 dnf 更新系統
dnf upgrade -y
安裝 CentOS 8 相關軟體包
dnf install https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/Packages/{centos-linux-release-8.3-1.2011.el8.noarch.rpm,centos-gpg-keys-8-2.el8.noarch.rpm,centos-linux-repos-8-2.el8.noarch.rpm}
檔案路徑需要通過訪問 https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/Packages/
來獲取
找到 release
,gpg-keys
,repos
這三個檔案的檔名替換到下載上面的 {}
裡。
備份 CentOS 7 映象的配置
zip -r -q -o /etc/yum.repos.d/CentOS-Base_backup_7.zip /etc/yum.repos.d/*
ls | grep -v CentOS-Base_backup | xargs rm
設定 CentOS 8 映象源為阿里雲
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
dnf makecache
更新 Epel 映象
dnf -y upgrade https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
dnf clean all
刪除 CentOS 7 的舊核心
rpm -e `rpm -q kernel` --nodeps
刪除有衝突的軟體包
rpm -e --nodeps sysvinit-tools
開始 CentOS 8 版本升級
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
如果升級發現有報錯,需要解除安裝 from package 後面的包名:
rpm -e --nodeps openssl11-libs-1:1.1.1g-1.el7.x86_64
rpm -e --nodeps python36-rpmconf-1.0.22-1.el7.noarch
再次執行升級,此步驟需要等待較長時間
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
為 CentOS 8 安裝新核心
dnf -y install kernel-core
安裝 CentOS 8 最小軟體包
dnf -y groupupdate "Core" "Minimal Install"
安裝完成後可以通過以下命令檢查安裝的 CentOS 版本
cat /etc/os-release
cat /etc/redhat-release
重啟伺服器
重啟後如果無法連線遠端伺服器,請參考 部落格:CentOS 8 修改網路卡名稱
本作品採用《CC 協議》,轉載必須註明作者和本文連結