首页/系统/信创系统运维速查/软件源 .repo 文件格式
命令与包管理65 条

软件源 .repo 文件格式

/etc/yum.repos.d/*.repo 定义仓库:中括号内是 repo id,baseurl 指地址,enabled/gpgcheck 控制开关与校验;改源核心就是改这里。

信创系统运维速查系统更新于 2026-10-13

.repo 文件是什么

软件源在 rpm 系发行版里由 /etc/yum.repos.d/ 下的 .repo 文件定义,每个文件可以描述一个或多个仓库。中括号里的标识是仓库 ID,其余字段声明名称、地址、是否启用、是否做签名校验以及公钥位置。改源、加内网源、临时禁用某个仓库,本质都是编辑这些小文件。理解了字段含义,遇到「装不上包、版本不对、校验失败」这类问题时,第一件事就是打开 .repo 看配置。

基本信息

目录/etc/yum.repos.d/
文件后缀.repo,可放多个仓库
必填字段仓库 ID、name、baseurl、enabled、gpgcheck
变量引用版本号与架构变量会在使用时展开
生效方式改完先清缓存再重建,否则仍用旧元数据
适用平台openEuler / Kylin V10 服务器版 / UOS 服务器版

典型使用场景

  • 内网环境接入本地源:把官方地址替换为单位镜像站地址
  • 多仓库管理:按用途分文件维护,需要时单独禁用某个仓库
  • 临时排障:禁用第三方源,确认问题是否由源混用引起
  • 源地址变更:换服务器后统一修改并重建缓存
  • 离线导出:把源文件与公钥一起归档,便于批量交付
  • 安全合规:确认签名校验开启,避免安装未签名包

标准 .repo 样例

标准 .repo 样例
[kylin-os]
name=Kylin OS $releasever $basearch
baseurl=http://update.example.com/kylin/$releasever/$basearch/os
enabled=1
# 是否校验包签名,生产环境建议保持开启
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin

字段逐项读法

字段含义注意点
仓库 ID中括号里的标识同一系统内不能重复,重复会互相覆盖
name仓库显示名仅作展示,不影响取包
baseurl仓库地址必须指向含元数据目录的那一层
enabled是否启用取值为 0 或 1
gpgcheck是否校验签名关闭校验会放大供应链风险
gpgkey公钥位置文件或网址,需可访问
exclude排除的包按需屏蔽特定包
优先级类字段仓库优先级是否生效取决于发行版与插件
地址必须指向包含元数据的目录,指到父目录或更深一层的文件地址都不算有效源。地址里的版本号与架构变量会按当前系统展开,所以同一份源文件在不同版本机器上可能解析出不同结果,核对时看清展开后的实际地址。
关闭签名校验等于放弃对包完整性与来源的验证,一旦镜像站被替换或中间环节被篡改,恶意包会直接装进系统。生产环境应保持校验开启,公钥走可信渠道分发。

易错点

  • baseurl 层级写错,指到不含元数据目录的地址,刷新缓存时报仓库不可用
  • 换源之后不清缓存直接装包,仍使用旧元数据,出现版本不对或找不到包
  • 多个 .repo 文件里出现相同仓库 ID,后者覆盖前者,配置看起来正确却不生效
  • 为图省事关掉签名校验,安装过程顺利但包来源无法验证,留下供应链风险

数据来源与参考

  • dnf 仓库配置文档
  • openEuler 源配置指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌