openEuler 的源怎么组织
openEuler 用 dnf 管理软件,源文件放在 /etc/yum.repos.d/ 下,官方提供的主文件是 openEuler.repo,指向 repo.openeuler.org。官方站按版本目录组织(如 openEuler-22.03-LTS、24.03-LTS),再按 x86_64 / aarch64 分架构,因此 baseurl 里的版本号与架构必须与实际系统一致。内网部署时把地址换成单位镜像站,清缓存后再刷新即可。
基本信息
| 源文件位置 | /etc/yum.repos.d/(官方常为 openEuler.repo) |
|---|---|
| 官方地址 | https://repo.openeuler.org/<版本>/ |
| 添加仓库 | dnf config-manager --add-repo <url> |
| 版本变量 | $releasever、$basearch 由 dnf 展开 |
| 生效流程 | 改源 → dnf clean all → dnf makecache → 装包验证 |
| 权限要求 | root 或 sudo |
典型使用场景
- 新装 openEuler 后补齐官方源,安装运维工具链
- 内网隔离环境改为单位镜像站地址
- 需要 EPOL 或更新源里的额外软件包时追加对应仓库
- 排查装包失败时确认仓库是否启用、地址是否可达
- 跨版本升级前把源指向目标版本目录
追加官方源并刷新
追加官方源并刷新
cat /etc/os-release # 确认实际版本号,别照抄示例
dnf config-manager --add-repo https://repo.openeuler.org/openEuler-24.03-LTS/OS/$basearch/
# 上面这条会生成一个 .repo 文件;版本号与 $basearch 必须与系统匹配,否则 404
dnf clean all && dnf makecache # 清缓存并重建元数据
dnf repolist -v | head -20 # 核对仓库启用状态与包数量
dnf install -y tree # 端到端验证内网镜像与多仓库
内网镜像与多仓库
grep -R '^baseurl' /etc/yum.repos.d/ | head # 查看现有源地址
sed -i 's|https://repo.openeuler.org|http://mirror.intra.local/openeuler|g' /etc/yum.repos.d/openEuler.repo
# 内网镜像需与版本目录结构一致,路径层级不要自行改写
dnf repolist --all | grep -i disabl # 检查是否有仓库被禁用
systemctl is-active chronyd # 时间偏差过大会影响 HTTPS 证书校验仓库字段读法
| 字段 | 含义 | 注意点 |
|---|---|---|
| [repo-id] | 仓库标识,出现在 dnf 输出里 | 重名会互相覆盖 |
| name | 仓库显示名 | 便于在 repolist 中辨识 |
| baseurl | 仓库根地址,含版本与架构 | 层级写错表现为 404 |
| enabled | 是否启用,1 为启用 | 为 0 时 dnf 完全看不到该源 |
| gpgcheck / gpgkey | 签名校验开关与公钥 | 官方源应保持开启 |
| priority | 多仓库优先级 | 同包多源时优先级决定候选版本 |
URL 里的 $releasever 与 $basearch 由 dnf 自动展开:写完后用 dnf repolist -v 看实际取值,变量展开结果与目录不符时会 404。
不要同时保留多个大版本(如 22.03-LTS 与 24.03-LTS)的源:同名包版本会在不同来源之间跳变,依赖解析结果不可预测。