自从万恶的 CentOS 8 宣布停止维护,并转为滚动发行版以来,留存的系统一直没来及处理。
准备
现有的 CentOS 8 已经没有来自上游的安全补丁和功能升级,处于停滞状态,可以使用 lsb_release -a
命令查看当前的版本。
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 8.0.1905 (Core)
Release: 8.0.1905
Codename: Core
其中如果 CentOS 的版本低于 8.5,在迁移前都需要升级到最终的 8.5 版本后才能进行迁移。
其他几个子版本的信息如下:
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 8.4.2105
Release: 8.4.2105
Codename: n/a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 8.3.2011
Release: 8.3.2011
Codename: n/a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 8.2.2004 (Core)
Release: 8.2.2004
Codename: Core
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 8.1.1911 (Core)
Release: 8.1.1911
Codename: Core
因为已经废弃,官方仓库地址已经无法使用,因此需要先使用国内镜像站对系统进行升级。
minorver=8.5.2111
sudo sed -e "s|^mirrorlist=|#mirrorlist=|g" \
-e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/$minorver|g" \
-i.bak \
/etc/yum.repos.d/CentOS-*.repo
配置完成后执行完整的系统升级
sudo dnf update -y
升级完成后检查版本,版本应该为 8.5.2111
。
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 8.5.2111
Release: 8.5.2111
Codename: n/a
确认无误后重启
迁移
需要注意的如果之前的版本比较旧的话,那么在更新的时候新版本的包会将上面配置好的仓库又还原成旧版的。先删除旧版仓库配置,然后还需要重新执行一遍配置仓库,否则会报错无法检查更新。
sudo rm -r /etc/yum.repos.d/*.rpmsave
sudo rm -r /etc/yum.repos.d/*.bak
配置完成后配置 Stream 版仓库
sudo dnf install -y centos-release-stream
在 /etc/yum.repos.d/
中会出现一些以 CentOS-Stream-*
开头的仓库配置文件。
-rw-r--r--. 1 root root 725 Dec 20 2019 CentOS-Stream-AppStream.repo
-rw-r--r--. 1 root root 706 Dec 20 2019 CentOS-Stream-Base.repo
-rw-r--r--. 1 root root 796 Dec 20 2019 CentOS-Stream-centosplus.repo
-rw-r--r--. 1 root root 666 Dec 20 2019 CentOS-Stream-Debuginfo.repo
-rw-r--r--. 1 root root 750 Dec 20 2019 CentOS-Stream-Extras.repo
-rw-r--r--. 1 root root 932 Dec 20 2019 CentOS-Stream-Media.repo
-rw-r--r--. 1 root root 730 Dec 20 2019 CentOS-Stream-PowerTools.repo
-rw-r--r--. 1 root root 1374 Dec 20 2019 CentOS-Stream-Sources.repo
-rw-r--r--. 1 root root 74 Dec 20 2019 CentOS-Stream-Vault.repo
然后迁移仓库
sudo dnf swap centos-linux-repos centos-stream-repos
迁移完成后查看现有仓库,可见到已经全部换为 Stream 版仓库。
[kane@centos8s ~]$ sudo dnf repolist
repo id repo name
appstream CentOS Stream 8 - AppStream
baseos CentOS Stream 8 - BaseOS
extras CentOS Stream 8 - Extras
extras-common CentOS Stream 8 - Extras common packages
优化
默认仓库使用的 Mirrorlist 方式,在网络状况复杂的情况下可能出现问题,手动替换为清华源:
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/$contentdir|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
-i.bak \
/etc/yum.repos.d/CentOS-Stream-*.repo
配置后进行完整系统升级
sudo dnf update -y
升级完成后重启会发现系统已经平滑过渡到 Stream 版
[kane@centos8s ~]$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOSStream
Description: CentOS Stream release 8
Release: 8
Codename: n/a
如果过渡失败,需要手动检查系统日志
sudo grep -i -E 'err|wan|cri' /var/log/messages
升级完成后可以对无效文件进行清理
sudo rm -r /etc/yum.repos.d/*.rpmsave
sudo rm -r /etc/yum.repos.d/CentOS-Linux-*.bak
附录
参考链接
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2023-10-08 16:46 PM
I'm extrewmely impressed wth yyour writing skills ass
well aas wiyh the layout on youur blog. Is this a pazid thene oor diid youu modiy it yourself?
Eithber way eep up the excelleent quality writing,
iit iis rare too seee a nice blopg like thius one today.