Search Posts

linux发行版openEuler如何升级22.09版本到23.03

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 .sh

[Install]
WantedBy=multi-user.target

2、通过网络镜像源升级

本方法的详细过程可以参考官方文档 《通过直接获取在线的openEuler repo源配置在线yum源》
复制一次系统原有的软件镜像源文件作备份:

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为你提供的镜像列表。

二、开始升级openEuler22.09版本到23.03

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

执行以上命令开始升级。


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

本文参考了:
https://forum.openeuler.org/t/topic/1150/3

加好友请备注:chinaoss
您可以在微信公众号联系我们
我们将24小时内回复。
取消