【EulerOS】 EulerOS 2.0 上yum安装ansible

Huawei Cloud EulerOS 2.0

# cat /etc/os-release
NAME="Huawei Cloud EulerOS"
VERSION="2.0 (aarch64)"
ID="hce"
VERSION_ID="2.0"
PRETTY_NAME="Huawei Cloud EulerOS 2.0 (aarch64)"
ANSI_COLOR="0;31"

# uname -a
Linux ingress01 5.10.0-182.0.0.95.r3008_246.hce2.aarch64 #1 SMP Tue Sep 23 07:42:45 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux
# yum install -y ansible
Last metadata expiration check: 0:02:20 ago on Tue 01 Sep 2026 04:36:07 PM CST.
No match for argument: ansible
Error: Unable to find a match: ansible

Huawei Cloud EulerOS 2.0 官方 yum 仓库没有提供 ansible rpm 包,所以 yum 找不到。

如何 yum 安装 ansible ?

重要结论

✅ HCE2.0(Huawei Cloud EulerOS 2.0)原生官方yum仓库没有ansible rpm包,直接yum install ansible必然找不到

网上两种做法:
1)增加openEuler社区EPOL源可以yum装上ansible,但是生产环境有依赖冲突风险(华为官方不推荐混用社区源与HCE原生源)
2)不要添加CentOS EPEL源!绝对不要,ABI不兼容,极易弄坏系统

✅优先推荐:pip安装ansible(最稳妥,不受yum源限制,前面给过方案)
✅如果你坚持一定要yum安装rpm包,只能临时添加openEuler‑22.03‑LTS的EPOL/everything源(仅测试环境使用,不建议正式业务机)

测试环境:yum安装ansible(openEuler社区源,aarch64)

⚠️风险提示:华为官方文档明确警告,HCE原生源和openEuler社区源存在包冲突;操作前备份原有repo文件,上线机器不要用此方法

  1. 备份原有HCE源
mv /etc/yum.repos.d/hce.repo /etc/yum.repos.d/hce.repo.bak
  1. 创建 /etc/yum.repos.d/openeuler2203.repo
[openEuler-everything]
name=openEuler-22.03-LTS everything
baseurl=https://repo.openeuler.org/openEuler-22.03-LTS/everything/aarch64/
enabled=1
gpgcheck=0
priority=5

[openEuler-EPOL]
name=openEuler-22.03-LTS EPOL
baseurl=https://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/aarch64/
enabled=1
gpgcheck=0
priority=5
  1. 重建yum缓存
yum clean all
yum makecache
  1. 现在可以yum安装ansible
yum install -y ansible
ansible --version

安装成功,但版本比较老旧(社区rpm包更新慢)

用完之后恢复系统原生源(非常重要)

rm -f /etc/yum.repos.d/openeuler2203.repo
mv /etc/yum.repos.d/hce.repo.bak /etc/yum.repos.d/hce.repo
yum clean all && yum makecache

恢复后,ansible不会被卸载,但是后续yum不能再升级ansible。

内网离线yum安装方案(如果你必须rpm包、不能pip)

  1. 在一台同架构、能联网的HCE2.0机器,临时加上上面openEuler源
  2. 下载ansible全部依赖rpm包
yumdownloader --resolve --destdir=/tmp/rpm_ansible ansible
  1. 把所有rpm传到内网服务器,不要添加外部源,直接本地rpm安装
cd /tmp/rpm_ansible
yum localinstall *.rpm -y

✅这种离线本地rpm方式,不需要长期挂载openEuler源,风险最小

最终建议取舍

  1. 生产环境:放弃yum,使用 pip3 install ansible,稳定无依赖冲突,版本新,华为云HCE运维主流方案
  2. 测试环境,必须rpm/yum形式:临时启用openEuler源安装,完成后立刻切回HCE官方源;
  3. 内网离线场景:联网机下载rpm包,内网yum localinstall本地安装,不要长期引入第三方yum源。

为什么用 yum 安装 ansible 要选用 openEuler-22.03 的 yum 源 ?

✅一句话结论

HCE 2.0 底层基线就是 openEuler‑22.03‑LTS,华为官方文档明确规定:HCE2.0只能搭配openEuler‑22.03‑LTS扩展源,不能用24.03或者别的版本

HCE2.0 ↔ openEuler‑22.03‑LTS
HCE3.0 ↔ openEuler‑24.03‑LTS‑SP1

1、为什么不能用 openEuler‑24.03 LTS?

  1. 底层ABI、glibc、Python版本不一致
    • HCE2.0:内核5.10、Python3.9、glibc 2.34
    • openEuler24.03:内核6.6、Python3.11,系统库版本完全不同
      如果添加24.03源,yum会拉取高版本rpm,出现大量依赖冲突、覆盖系统底层库,业务直接崩溃。
  2. 华为官方不认可跨LTS混用源,出问题不在维保范围

2、为什么选22.03 LTS(而不是20.03、创新版)

  1. 同源基线,依赖匹配度最高
    HCE2.0是基于openEuler‑22.03‑LTS深度定制的云操作系统,软件包依赖链、库版本完全对齐;
    openEuler社区的 EPOL源(扩展软件仓库) 里面提供了ansible的rpm包(ansible‑2.9)。

HCE官方自身主仓库没有ansible,只能从同基线的openEuler EPOL获取。

  1. 必须用LTS长期支持版,不能用半年创新版(22.09/23.09)
    创新版生命周期只有6个月,软件包随时下架、缺少长期维护,不适合服务器。

3、两个重要风险点(重点)

1)只是临时借用源安装,不要长期启用
华为文档建议:备份原有hce.repo → 临时添加22.03源,装好rpm后立刻删掉openEuler源,恢复原生HCE源,避免后续yum update混入社区包破坏系统。
2)22.03 EPOL里的ansible版本很老(ansible‑2.9)

  • rpm方式得到的是老旧2.9版本
  • pip安装可以拿到2.15+新版(你当前的版本)

所以生产首选pip,yum/rpm仅在强制要求rpm包的场景测试使用

4、不要使用CentOS EPEL源

CentOS的rpm包、ABI和HCE/aarch64完全不兼容,强行安装大概率直接损坏系统,严禁添加。

5、两种yum安装最佳实践(官方推荐方式)

方案A(临时repo,测试用)

临时挂载openEuler‑22.03‑LTS的everything+EPOL,安装完成删除repo,恢复HCE原生源。

方案B(更安全,推荐)

联网同架构机器,只下载ansible及其全部依赖rpm包,内网本地yum localinstall,全程不长期引入外部yum源,风险最小。

6、总结

  1. 选 openEuler‑22.03‑LTS 不是随便挑的,由HCE2.0的系统基线决定,是官方唯一兼容的社区源;
  2. 选用更高/更低openEuler版本会引发底层库冲突;
  3. yum安装只能拿到老旧ansible‑2.9;想要新版ansible,放弃yum,使用pip是更稳妥路线。
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容