openEuler 22.09 如何升级到 23.03

openEuler 22.09 如何升级到 23.03

同问

openEuler升级

openEuler升级更新主要做以下几件事:

  • 修改一下软件镜像源;
  • 使用dnf删除缓存、再执行升级。

一、修改镜像源

镜像源主要有两种方式,一种是直接用网络镜像源,另一种是把安装时用的光盘映像文件(.iso)做成本地镜像源。
如果是学习、本地虚拟机开发,更推荐用本地镜像源,避免反复下载已经下载的内容,节省时间。如果使用本地镜像源,推荐下载名字里带everything的安装文件,例如:openEuler-23.03-everything-x86_64-dvd.iso

1、通过本地镜像源升级

首先参考官方文档 通过挂载ISO创建本地openEuler repo源配置本地yum源》,可以临时挂载CDROM到Linux系统的指定文件夹。但文章中的方法有局限性:如果系统重新启动,则需要重新执行mount指令进行挂载。

注1:

建议不要完全安装官方指南的操作,你可以在/etc/yum.repos.d目录下直接新建一个CDROM.repo文件,把CD镜像相关内容写到里面,不要修改系统原有的openEuler.repo。只要后缀名是.repo,都会被dnf识别到。设置好本地镜像源后,使用命令:

sudo mv openEuler.repo openEuler.repo.bak

为网络镜像源文件改名备份,这样dnf就只使用本地镜像源了。

注2:

重启Linux操作系统会导致挂载失效,如果要开机自动挂载,可以使用systemctl进行开机服务管理。比如,自己先创建一个mymount.sh脚本文件,添加挂载命令

/usr/bin/mount <被挂载的文件或目录> <挂载目标>

到文件中(绝对路径不要省略,因为系统刚开机,很多环境还没准备好,用上绝对路径才知道文件在哪里)。然后使用

sudo systemctl edit --force --full mymount

创建一个叫mymount的开机服务,然后在其中编写服务内容,大致格式和内容如下:

[Unit]
Description=自定义共享文件加载服务

[Service]
Type=forking
ExecStart=/usr/bin/bash <xxxx>.sh

[Install]
WantedBy=multi-user.target

2、通过网络镜像源升级

复制一次系统原有的软件镜像源文件作备份:

sudo cp /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak

然后修改openEuler.repo

sudo vim /etc/yum.repos.d/openEuler.repo

把每个url中包含的版本号都改成你想升级的版本号,具体url该改成什么样子,参考 openEuler Repo为你提供的镜像列表。

二、开始升级

sudo dnf clean all
sudo dnf upgrade --allowerasing --nobest

注意:一部分包会因为dnf、yum的依赖关系而无法更新,这也是前面的指令使用--nobest的原因。
至于dnf、yum的更新,我还没有找到合适的帖子,搜索引擎都很蠢,搜到的都是教你如何使用dnf。

1 个赞

传统方式,像楼上说的。还有x2openeuler工具也能升级