请问22.03 SP3如何升级到24.03?

直接修改仓库地址好像不行

怎么不行?实测 22.03 SP2 直接修改仓库地址都能 yum update 到 24.03

仓库配置:
[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-24.03-LTS/OS/$basearch/
metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
metadata_expire=1h
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-24.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler

[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-24.03-LTS/everything/$basearch/
metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
metadata_expire=1h
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-24.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler

执行dnf update或yum update提示nothing to do

cat /etc/os-release 看一下当前版本,直接用这里提供的 repo 源: 【汇总贴】openEuler常用repo源 - 迁移 - openEuler 论坛,不要用 metalink 版本的

请问离线环境有办法么,我这网络环境有些特殊,无法连接正常的互联网

24.03 的 repo 源是必须的,可以尝试用 everything 镜像搭建一个本地源,或者同步网络源

搭建本地源即可

openEuler22.03LTSSP3升级到24.03LTS后重启提示FAILED failed to start user login management

测试时用的干净的openEuler22.03LTSSP3(最小化安装,没装任何其它软件),升级到了最新版本后。然后切换到下列源:

[openEuler-everything]
name=openEuler-everything
baseurl=http://repo.huaweicloud.com/openeuler/openEuler-24.03-LTS/everything/x86_64/
enabled=1
gpgcheck=0
gpgkey=http://repo.huaweicloud.com/openeuler/openEuler-24.03-LTS/everything/x86_64/RPM-GPG-KEY-openEuler

[openEuler-EPOL]
name=openEuler-epol
baseurl=http://repo.huaweicloud.com/openeuler/openEuler-24.03-LTS/EPOL/main/x86_64/
enabled=1
gpgcheck=0

[openEuler-update]
name=openEuler-update
baseurl=http://repo.huaweicloud.com/openeuler/openEuler-24.03-LTS/update/x86_64/
enabled=1
gpgcheck=0

然后执行:
sudo dnf clean all
sudo dnf update | tee update_log
下载安装包并开始安装。安装过程中有若干警告信息,无非是已存在文件被重命名等等,但是这一条提示有点看不懂:
警告:文件 /usr/lib64/samba/wbclient/libwbclient.so.0.15删除失败。
装完重启后就一直卡在FAILED failed to start user login management错误界面了。6.6的内核和5系列的内核都试了,错误信息一样。

用虚拟机按照你的步骤操作了,没有出现错误:

你升级之前的版本是多少?

openEuler 22.03 LTS SP3

我刚才在虚拟机上又试了一遍,补上截图


这个是升级过程中出现的,完了重启系统后就进不去了。

辛苦老师帮我参谋参谋。

看一下 systemctl status systemd-logind.service 的内容

新装的操作系统什么都没做,怎么会出错

我用快照还原后试了,没执行升级之前。
systemctl status systemd-logind.service
/usr/lib64/samba/wbclient/libwbclient.so.0.15
/usr/lib64/samba/wbclient/libwbclient.so.0 → libwbclient.so.0.15
都是正常的,见截图。

一旦执行升级的操作就提示

然后去查这两个文件

ls -l /usr/lib64/samba/wbclient/libwbclient.so.0.15
ls -l /usr/lib64/samba/wbclient/libwbclient.so.0

提示不存在!!

Windows11 24H2 系统,在Hyper-V中创建虚拟机,先安装22.03 SP3,再升级到SP4 一切顺利,然后修改源地址升级24.03,升级第一次重启与 scydang 问题一样,重置虚拟机后在Starting Switch Root后出错

基本解决,使用Hyper-V安装的虚拟机,22.03-LTS-SP4升级24.03-LTS后,不要重启,手动安装一次systemd,然后重启系统就正常了。

dnf reinstall systemd

我VM中旧版的系统和镜像备份快照都删了,没有机会验证你说的方法了。现在在研究 openEuler 24.09
谢谢你跟帖分享解决方案。

@sTiger 的方案,在升级不重启的状态下确实可行。

如果不幸重启了又不想重装,需要找任意发行版的live cd,以光盘形式启动到live cd。

然后chroot故障盘(假设为/media/user/dddddddddd):

mount -o rbind /dev /media/user/dddddddddd/dev
mount -t proc none /media/user/dddddddddd/proc
mount -o bind /sys /media/user/dddddddddd/sys
mount -o bind /tmp /media/user/dddddddddd/tmp
cp /etc/resolv.conf /media/user/dddddddddd/etc/resolv.conf
chroot /media/user/dddddddddd

接着,按顺序修复systemd和selinux关键组件:

(备注:不重装systemd-udev会导致systemd-remount-fs.service异常,表现为根目录只读)

dnf reinstall systemd systemd-udev

mv /etc/selinux/targeted /etc/selinux/targeted.bak
mv /etc/selinux/config /etc/selinux/config.bakold

dnf remove selinux-policy*
dnf install selinux-policy-targeted
dnf install selinux-policy-devel policycoreutils policycoreutils-devel

mv /etc/selinux/config /etc/selinux/config.bakrpmnew
mv /etc/selinux/config.bakold /etc/selinux/config

touch /.autorelabel

然后重启,此时selinux会重建整个文件系统的label,时间可能较长。

重建完成后,系统会再次自动重启。

重启后,故障解除。