有些云购买服务器的时候,没有rocky镜像。比如:轻量服务器。这个时候需要先购买centOS7.6升级到centOS7.9,然后升级到rocky8.8。
但一般都是买一步到位的rocky,很少买centOS升级到rocky,做个底层了解游戏一下。
初始安装镜像为CentOS7.6 64位版本
# 查看当前版本信息 基础版本为CentOS7.6 64位版本
uname -r
3.10.0-1160.88.1.el7.x86_64
uname -a
Linux VM-0-11-centos 3.10.0-1160.88.1.el7.x86_64 #1 SMP Tue Mar 7 15:41:52 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
cat /proc/version
Linux version 3.10.0-1160.88.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Mar 7 15:41:52 UTC 2023
安装epel仓库
yum -y install epel-release
已安装:
epel-release.noarch 0:7-14
升级到CentOS7.6最新版本centOS7.9,并且重启,重启后即运行centOS7.9
#升级到CentOS最新版本
yum -y update
# 升级成功后重启服务器
reboot
安装依赖
# 安装rpmconf和yum-utils
yum -y install rpmconf yum-utils
# 执行rpmconf,输入Y和回车继续,我这边是按了2次即可
rpmconf -a
# 安装dnf,DNF是yum下一代的包依赖管理
yum -y install dnf
# 移除yum和yum-metadata-parser
dnf -y remove yum yum-metadata-parser
安装RockyLinux8.8的源和升级epel源
# 删除CentOS7的源
rpm -e --nodeps `rpm -qa|grep centos-`
# 安装RockyLinux8.8的源
rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/Packages/r/rocky-release-8.8-1.8.el8.noarch.rpm
rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/Packages/r/rocky-repos-8.8-1.8.el8.noarch.rpm
rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/Packages/r/rocky-gpg-keys-8.8-1.8.el8.noarch.rpm
# 升级epel源
dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf clean all
卸载centos7的内核
rpm -e --nodeps `rpm -qa|grep -i kernel`
修改python2编码
# 修改python2编码
vi /usr/lib/python2.7/site-packages/sitecustomize.py
#把下面这段代码加入文件里面
import sys
reload(sys)
sys.setdefaultencoding('utf8')
升级到RockyLinux8,这一步一般会报错
第一次升级报错:运行事务检查
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
运行事务检查
错误:事务检查与依赖解决错误:
(gcc >= 8 with gcc < 9) 被 annobin-10.94-1.el8.x86_64 需要
rpmlib(RichDependencies) <= 4.12.0-1 被 annobin-10.94-1.el8.x86_64 需要
(NetworkManager >= 1.20 or dhclient) 被 dracut-network-049-223.git20230119.el8.x86_64 需要
rpmlib(RichDependencies) <= 4.12.0-1 被 dracut-network-049-223.git20230119.el8.x86_64 需要
(annobin if gcc) 被 redhat-rpm-config-131-1.el8.noarch 需要
(gcc-plugin-annobin if gcc) 被 redhat-rpm-config-131-1.el8.noarch 需要
rpmlib(RichDependencies) <= 4.12.0-1 被 redhat-rpm-config-131-1.el8.noarch 需要
要诊断问题,尝试运行:'rpm -Va --nofiles --nodigest' 。
RPM 数据库可能出错,请尝试运行'rpm --rebuilddb'进行恢复。
下载的软件包保存在缓存中,直到下次成功执行事务。
您可以通过执行 'dnf clean packages' 删除软件包缓存。
解决办法:手动安装依赖包
find /var/cache/dnf/ -name *annobin*
/var/cache/dnf/appstream-62ae9a0bbea44fbe/packages/annobin-10.94-1.el8.x86_64.rpm
rpm -ivh --nodeps --force /var/cache/dnf/appstream-62ae9a0bbea44fbe/packages/annobin-10.94-1.el8.x86_64.rpm
find /var/cache/dnf/ -name *dracut-network*
/var/cache/dnf/baseos-3e608afeebc9a90b/packages/dracut-network-049-223.git20230119.el8.x86_64.rpm
rpm -ivh --nodeps --force /var/cache/dnf/baseos-3e608afeebc9a90b/packages/dracut-network-049-223.git20230119.el8.x86_64.rpm
find /var/cache/dnf/ -name *redhat-rpm-config*
/var/cache/dnf/appstream-62ae9a0bbea44fbe/packages/redhat-rpm-config-131-1.el8.noarch.rpm
rpm -ivh --nodeps --force /var/cache/dnf/appstream-62ae9a0bbea44fbe/packages/redhat-rpm-config-131-1.el8.noarch.rpm
第二次升级报错:运行事务测试
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
运行事务测试
下载的软件包保存在缓存中,直到下次成功执行事务。
您可以通过执行 'dnf clean packages' 删除软件包缓存。
错误:事务检查错误:
file /usr/sbin/pidof from install of procps-ng-3.3.15-13.el8.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
file /usr/bin/last from install of util-linux-2.32.1-42.el8_8.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
file /usr/bin/mesg from install of util-linux-2.32.1-42.el8_8.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
file /usr/bin/wall from install of util-linux-2.32.1-42.el8_8.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
file /usr/share/man/man1/last.1.gz from install of util-linux-2.32.1-42.el8_8.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
file /usr/share/man/man1/mesg.1.gz from install of util-linux-2.32.1-42.el8_8.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
file /usr/share/man/man1/wall.1.gz from install of util-linux-2.32.1-42.el8_8.x86_64 conflicts with file from package sysvinit-tools-2.88-14.dsf.el7.x86_64
错误汇总
-------------
解决办法:删除sysvinit-tools-2.88-14.dsf.el7.x86_64
rpm -e --nodeps sysvinit-tools-2.88-14.dsf.el7.x86_64
第三次安装:直接成功
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
卸载重新安装epel仓库和rpmconf并删除冲突软件包
# 卸载旧的epel仓库,重新安装epel仓库,删除冲突软件包,重装rpmconf并执行rpmconf,在交互界面一直输入Y和回车即可
# 卸载epel仓库文件
cd /etc/yum.repos.d
rm -rf /etc/yum.repos.d/CentOS-Base.repo.rpmsave /etc/yum.repos.d/CentOS-Epel.repo /etc/yum.repos.d/epel-modular.repo /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing-modular.repo /etc/yum.repos.d/epel-testing.repo
# 重新安装epel仓库
dnf -y reinstall epel-release
# 删除冲突的软件包
rpm -e --nodeps python36-rpmconf-1.1.7-1.el7.1.noarch
# 重装rpmconf
dnf -y install rpmconf yum-utils
#执行rpmconf,会出现如下界面,一直输入Y和回车即可
rpmconf -a
安装Rocky8.8内核
# 安装内核(防止有些时候没安装内核开机失败,开机失败的可以用RockyLinux-8 ISO镜像救援模式安装内核)
dnf -y install kernel kernel-core
dnf -y install shim grub2-tools-extra grubby grub2-common grub2-pc
dnf -y install grub2-tools-efi grub2-tools-minimal grub2-efi grub2-pc-modules grub2-tools
修复引导并安装Rocky8.8的Minimal Install环境
# 执行下面的命令,防止迁移完成后找不到引导,重启开不了机,根据以下命令选择分区表类型,根据分区表类型执行相关命令
# 查看分区表类型
fdisk -l
# MBR分区(传统的BIOS、dos、msdos)(注意/dev/vda需根据实际情况自行选择磁盘路径,具体参考fdisk -l返回的磁盘卷标信息)
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/vda
安装Rocky8.8的环境,”Minimal Install”和”Server with GUI”二选一
# 这一步选择性执行,执行这一步能解决安装yum报错。
rm -rf /etc/yum
# 安装基础环境,二选一
dnf -y groupinstall "Minimal Install"
#或者安装桌面环境,二选一
dnf -y groupinstall "Server with GUI"
# 重启机器
reboot
安装版本查看软件
dnf install redhat-lsb
lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: Rocky
Description: Rocky Linux release 8.8 (Green Obsidian)
Release: 8.8
Codename: GreenObsidian
执行dnf update 报错
dnf update
上次元数据过期检查:0:21:05 前,执行于 2023年09月20日 星期三 13时32分06秒。
错误:
问题: 无法同时安装 libtomcrypt-1.18.2-5.el8.x86_64 和 libtomcrypt-1.17-26.el7.x86_64
- 软件包 python2-crypto-2.6.1-16.el7.x86_64 需要 libtomcrypt.so.0()(64bit),但没有提供者可以被安装
- 无法为软件包安装最佳更新候选 libtomcrypt-1.17-26.el7.x86_64
- 安装的软件包的问题 python2-crypto-2.6.1-16.el7.x86_64
(尝试在命令行中添加 '--allowerasing' 来替换冲突的软件包 或 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用软件包的最佳候选)
解决办法
dnf update --allowerasing
参考文章:从CentOS7.6升级到Rocky9.1镜像制作总结
Views: 609
发表回复