.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 | 排除的包 | 按需屏蔽特定包 |
| 优先级类字段 | 仓库优先级 | 是否生效取决于发行版与插件 |
地址必须指向包含元数据的目录,指到父目录或更深一层的文件地址都不算有效源。地址里的版本号与架构变量会按当前系统展开,所以同一份源文件在不同版本机器上可能解析出不同结果,核对时看清展开后的实际地址。
关闭签名校验等于放弃对包完整性与来源的验证,一旦镜像站被替换或中间环节被篡改,恶意包会直接装进系统。生产环境应保持校验开启,公钥走可信渠道分发。