近期有将Rocky Linux 8升级至9的需求,然而对于我这种非高级的Linux用户非常头疼,这次并没有如CentOS 8一键升级至Rocky Linux 8的官方脚本,而且简单粗暴的更换RPM源并更新软件包的方法会出现和原有软件包冲突等问题导致升级过程中断。
在网上找解决方案的时候发现一个比较实用的贴子,转载出来分享给大家,希望能有所帮助。
注意:不是所有的步骤都适用,此脚本主要是针对从CentOS 8升级到Rocky Linux 8再升级到9的情况(也就是博主的情况)。有些指令如cd /etc/yum.repos.d,一些机器上重名的包或者CentOS 8遗留的包会在这个路径存放,需要进行rm删除,请根据实际情况修改。
sudo su
cd /etc/yum.repos.d
rm -f CentOS* _copr* weewx.repo zmrepo*
mv -f Rocky-PowerTools.repo.rpmnew Rocky-PowerTools.repo
dnf remove -y rpmfusion-free-release rpmfusion-nonfree-release zoneminder-common ffmpeg libbluray zram \
epel-rpm-macros-systemd weewx usbmuxd perl-DBI perl-IO-Socket-SSL perl-DBD-SQLite \
lame-libs libvdpau python3-gevent python3-greenlet python3-ouimeaux python3-pyyaml xorg-x11-drv-nvidia-kmodsrc \
mock-rpmfusion-free mock-rpmfusion-nonfree rpmfusion-free-appstream-data rpmfusion-nonfree-appstream-data
dnf module -y disable "*"
dnf install -y https://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r/rocky-release-9.0-2.1.el9.noarch.rpm \
https://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r/rocky-repos-9.0-2.1.el9.noarch.rpm \
https://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r/rocky-gpg-keys-9.0-2.1.el9.noarch.rpm
dnf -y --releasever=9 --allowerasing --nobest --setopt=deltarpm=false distro-sync
restorecon -Rv /var/lib/rpm
rpmdb --rebuilddb -v
dnf install -y https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm
dnf install -y mock-rpmfusion-free mock-rpmfusion-nonfree
dnf update -y
参考资料:
Rocky Linux 8 upgrade to Rocky Linux 9 - #10 by knight-of-ni - General - Rocky Linux Forum