华为欧拉系统)openEuler-22.03-LTS-SP4升级openEuler-24.03-LTS-SP1教程

理论上此教程适用于openEuler-22.03所有版本但是其他版本请自行测试!

如果在正式环境升级,请做好数据备份以及重要配置备份!

注意:升级前请备份好数据,升级可能会导致ssh的root用户无法登陆、网卡名称发生改变、引导丢失无法开机等问题,如果不知道怎么处理,请进群咨询。

---群---号:831037125(CentOS、RockyLinux、AlmaLinux-升-级-交-流)

By------云南乐嘟信息技术有限公司------

1.更新系统至最新版本,防止升级时出现各种奇葩问题

dnf -y update

2.重启系统

reboot

3.移除repo源

cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak/
rm -rf /etc/yum.repos.d/*

4.升级openEuler源

rpm -Uvh --nodeps --force https://dl-cdn.openeuler.openatom.cn/openEuler-24.03-LTS-SP1/OS/x86_64/Packages/openEuler-release-24.03LTS_SP1-55.oe2403sp1.x86_64.rpm
rpm -Uvh --nodeps --force https://dl-cdn.openeuler.openatom.cn/openEuler-24.03-LTS-SP1/OS/x86_64/Packages/openEuler-repos-1.0-4.2.oe2403sp1.x86_64.rpm
rpm -Uvh --nodeps --force https://dl-cdn.openeuler.openatom.cn/openEuler-24.03-LTS-SP1/OS/x86_64/Packages/openEuler-gpg-keys-1.0-4.2.oe2403sp1.x86_64.rpm
dnf clean all

5.升级到openEuler-24.03-LTS-SP1,这一步一般会报错,如果没有报错会直接进行升级,升级完请进行下一步操作

dnf -y --releasever='24.03LTS_SP1' --allowerasing --setopt=deltarpm=true distro-sync --nogpgcheck

执行完上面的命令之后会报下面的错,如果没报下面的错跳过这一步即可(请认真阅读错误提示!)。发现报错之后先卸载类似于图上from package后面的包名

file /usr/share/glib-2.0/schemas/org.ukui.power-manager.gschema.xml from install of ukui-power-manager-3.1.2-5.oe2203sp2.x86_64 conflicts with file from package ukui-power-manager-common-2.0.3-1.oe1.x86_64

如下(可能有多个包):

rpm -e --nodeps ukui-power-manager-common-2.0.3-1.oe1.x86_64

之后接着执行

dnf -y --releasever='22.03LTS_SP4' --allowerasing --setopt=deltarpm=false distro-sync --nogpgcheck

6. 重建rpm数据库

rpm --rebuilddb

7.重装缺失组件

dnf group install "Minimal Install" -y

8.执行下面的命令,防止迁移完成后找不到引导,重启开不了机,根据以下命令选择分区表类型,根据分区表类型执行相关命令

查看分区表类型

fdisk -l

GPT分区表

MBR分区表

GPT分区(UFFI的BIOS)

export grubcfg=$(find /boot/ -name openEuler)
grub2-mkconfig -o $grubcfg/grub.cfg

添加UEFI启动项(注意/dev/sda为efi分区所在磁盘,需根据实际情况自行选择磁盘路径,具体参考上图,-p后面是分区位置(默认为1),efi分区为/dev/sda1值就是1,efi分区为/dev/sda2值就是2)

efibootmgr -c -w -L "openeuler" -d /dev/sda -p 1 -l \\EFI\\openEuler\\shimx64.efi

MBR分区(传统的BIOS、dos、msdos)(注意/dev/sda需根据实际情况自行选择磁盘路径,具体参考上图)

grub2-mkconfig -o /boot/grub2/grub.cfg 
grub2-install /dev/sda

9.重启机器

reboot

10.移除多余内核

dnf remove kernel*2203* -y

tips:

(1).安装桌面环境

安装dde桌面环境

dnf install dde -y
systemctl set-default graphical.target

安装ukui桌面环境

dnf install ukui -y
systemctl set-default graphical.target
<think>嗯,用户现在想了解在华为欧拉系统上安装container-selinux的问题。之前他们遇到了安装Docker时的依赖问题,特别是缺少container-selinux >= 2:2.74。现在他们可能已经尝试了一些方法,但仍有疑问,或者需要更详细的指导。 首先,我需要确认华为欧拉系统openEuler)和CentOS或其他RHEL系系统的兼容性。因为之前给出的解决方案提到了CentOS的包,用户可能想知道是否这些方法同样适用于欧拉。可能用户已经尝试了EPEL仓库,但发现欧拉的软件源结构不同,导致安装失败。 接下来,用户可能需要具体的步骤来手动安装container-selinux,或者寻找欧拉官方提供的替代包。需要检查欧拉的仓库中是否有该软件包的不同名称或版本,或者是否有其他依赖需要处理。比如,华为可能有自己的软件仓库,或者推荐使用特定版本的容器工具。 另外,用户可能对安全策略和SELinux的配置有疑问,特别是如果他们在安装后遇到权限问题。需要提醒用户检查SELinux的状态,以及如何调整策略或关闭SELinux(尽管不推荐生产环境这样做)。 还要考虑用户是否在使用不同架构的包,比如aarch64与x86_64的区别,确保提供的下载链接和安装命令正确对应他们的系统架构。之前的回答中提到了aarch64,但需要确认欧拉系统常用的架构是否一致。 可能用户尝试了手动安装CentOS的包,但出现了依赖问题,需要指导如何处理这种情况,比如使用--nodeps强制安装,或者寻找兼容的版本。同时,需要警告用户这样做可能带来的稳定性风险。 另外,是否有替代方案,比如使用Podman或其他容器工具,可能华为欧拉有自己推荐的容器运行时,用户可能更倾向于使用官方支持的工具,而不是Docker。 最后,用户可能需要验证安装后的配置,确保container-selinux正确安装,并且与Docker或其他容器工具兼容。提供检查版本和基本功能的命令会很有帮助。 总结,用户的需求可能包括: 1. 确认在欧拉系统安装container-selinux的正确方法。 2. 处理依赖和兼容性问题。 3. 替代方案或官方推荐的解决方案。 4. 安装后的验证和故障排除。</think>--- ### 一、华为欧拉系统与 container-selinux 的关系 **container-selinux** 是 Linux 容器(如 Docker、Podman)与 SELinux 安全策略交互的核心组件,主要负责: - 定义容器进程的 SELinux 上下文标签 - 控制容器对宿主机资源的访问权限 - 提供默认安全策略规则 在 **华为欧拉(openEuler)** 系统中,由于系统定制化特性,可能出现: 1. 软件包命名差异(如 `selinux-policy-container`) 2. 软件版本与上游 CentOS/RHEL 不同步 3. 依赖链特殊调整(华为可能整合自有安全组件) --- ### 二、3种安装方案 #### ▶ 方案1:通过官方仓库安装(推荐) ```bash # 更新软件源缓存 sudo dnf clean all sudo dnf makecache # 搜索华为欧拉适配的包(注意名称可能变化) sudo dnf search container-selinux # 确认华为提供的替代包名称(常见变体) sudo dnf install selinux-policy-container ``` #### ▶ 方案2:手动安装兼容 RPM 包 ```bash # 下载华为欧拉专用包(以 22.03 LTS 为例) wget https://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/aarch64/Packages/selinux-policy-container-3.14.3-11.oe2203.noarch.rpm # 安装并跳过依赖检查(慎用) sudo rpm -ivh --nodeps selinux-policy-container-*.rpm # 补充安装依赖(需根据实际报错调整) sudo dnf install libsemanage libselinux-utils ``` #### ▶ 方案3:源码编译安装 ```bash # 安装编译依赖 sudo dnf install git selinux-policy-devel # 克隆华为欧拉适配的源码库 git clone https://gitee.com/src-openeuler/selinux-policy-container.git cd selinux-policy-container # 编译生成 RPM 包 rpmbuild -bb selinux-policy-container.spec # 安装生成的 RPM sudo rpm -ivh ./RPMS/noarch/selinux-policy-container-*.rpm ``` --- ### 三、关键配置验证 #### 1. 检查软件包状态 ```bash # 确认安装版本(华为欧拉可能显示不同包名) rpm -qa | grep -E 'container-selinux|selinux-policy-container' # 验证 SELinux 策略是否加载 semodule -l | grep container ``` #### 2. 调试容器与 SELinux 交互 ```bash # 查看容器进程的 SELinux 上下文 docker run -d --rm alpine sleep 1000 ps -eZ | grep "container_t" # 检查 AVC 拒绝日志(权限问题排查) sudo ausearch -m avc -ts recent ``` --- ### 四、常见问题处理 #### 问题1:`No package available` 错误 **解决方案**: ```bash # 启用华为 EPOL 扩展仓库 sudo dnf install -y epel-release sudo dnf config-manager --set-enabled EPOL ``` #### 问题2:SELinux 策略冲突 **临时调整**: ```bash # 将容器设为 permissive 模式(生产环境慎用) sudo semanage permissive -a container_t ``` --- ### 五、替代方案 如果持续安装失败,可考虑: 1. **禁用 SELinux**(仅限测试环境): ```bash sudo setenforce 0 sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config ``` 2. **使用华为 iSula 容器引擎**(欧拉原生支持): ```bash sudo dnf install -y iSulad sudo systemctl start isulad ``` --- ### 六、版本兼容性参考表 | 欧拉版本 | 推荐 container-selinux 版本 | 对应 Docker 版本 | |------------|-----------------------------|------------------| | openEuler 20.03 LTS | 2.107.3-3.oe1 | 19.03.15 | | openEuler 22.03 LTS | 3.14.3-11.oe2203 | 20.10.21 | | openEuler 23.09 | 3.15.6-2.oe2309 | 24.0.7 | --- 通过以上方法,可在保持系统稳定性的前提下完成安装。**建议优先使用华为官方仓库提供的软件包**,若需手动安装外部 RPM 包,请务必验证数字签名与系统兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值