Rocky Linux 10 的所有可用仓库

一、仓库分类说明

1. 主仓库(三大部分)

仓库ID用途说明
baseos基础操作系统核心系统组件、内核、基本工具
appstream应用程序流用户空间应用、开发工具、运行时
crb构建工具库构建软件所需的开发包

2. 调试和源码仓库

每个主仓库都有对应的调试和源码仓库:

  • -debuginfo: 包含调试符号,用于程序崩溃分析
  • -source: 包含软件包的源代码

使用场景

# 安装调试信息(如需要分析崩溃)
dnf install gdb
dnf debuginfo-install <包名>

# 查看源码
dnf download --source <包名>

3. 特殊功能仓库

仓库ID用途目标用户
highavailability高可用性集群需要构建集群的系统管理员
nfv网络功能虚拟化电信、网络设备厂商
rt实时内核需要低延迟的工业控制、金融交易系统
sapSAP应用支持运行SAP ERP系统的企业
saphanaSAP HANA数据库支持使用SAP HANA的企业

4. 警告仓库(谨慎使用)

# ⚠️ 这些仓库有明确警告:
devel              # 仅用于构建环境,不要长期启用!
devel-debuginfo    # 同上
devel-source       # 同上

# 用途:构建Rocky Linux ISO或软件包
# 风险:可能包含不稳定的开发版本

5. EPEL相关仓库

仓库ID状态说明
epel稳定版经过测试的额外软件包
epel-testing测试版待测试的新包,可能有风险
epel-debuginfo调试信息EPEL包的调试符号
epel-source源码EPEL包的源代码

二、仓库层次结构

BaseOS (基础)
    ├── baseos
    ├── baseos-debuginfo
    └── baseos-source
    
AppStream (应用)
    ├── appstream
    ├── appstream-debuginfo
    └── appstream-source

CRB (构建)
    ├── crb
    ├── crb-debuginfo
    └── crb-source

扩展仓库
    ├── extras (额外包)
    ├── plus (补充包)
    ├── highavailability (高可用)
    ├── nfv (网络功能)
    ├── rt (实时内核)
    ├── sap (SAP支持)
    └── saphana (SAP HANA)

EPEL (社区)
    ├── epel (稳定)
    └── epel-testing (测试)

特殊用途
    └── devel (开发构建) ⚠️

三、实际应用场景

1. 普通服务器

# 基本配置
dnf config-manager --set-enabled baseos,appstream,extras,epel

# 可选:高可用性(如需要集群)
dnf config-manager --set-enabled highavailability

2. 开发工作站

# 启用开发相关
dnf config-manager --set-enabled crb,epel

# 安装开发工具
dnf groupinstall "Development Tools"

3. 特定应用服务器

# SAP服务器
dnf config-manager --set-enabled sap,saphana

# 低延迟应用(金融交易)
dnf config-manager --set-enabled rt

四、仓库状态管理

# 查看所有仓库状态
dnf repolist all | grep -E "仓库ID|enabled|disabled"

# 启用仓库
dnf config-manager --set-enabled highavailability

# 禁用仓库
dnf config-manager --set-disabled epel-testing  # 建议禁用测试仓库

# 临时使用某个仓库
dnf install --enablerepo=epel-testing <包名>

五、重要建议

应该启用的

  1. baseos + appstream(必需)
  2. epel(常用额外软件)
  3. extras(小但有用)

按需启用的

  1. crb(如需编译软件)
  2. highavailability(如构建集群)
  3. plus(额外开源软件)

应该禁用的

  1. epel-testing(除非你想测试新包)
  2. devel(⚠️ 除非在构建环境中)
  3. 不用的特定仓库(如sap、nfv等)

最佳实践

# 创建自定义仓库配置
cp /etc/yum.repos.d/rocky.repo /etc/yum.repos.d/rocky-custom.repo
# 编辑文件,只启用需要的仓库

# 验证仓库优先级
dnf repolist -v

六、故障排除

如果遇到包冲突:

# 查看包来自哪个仓库
dnf repoquery -l <包名>

# 排除特定仓库
dnf install --disablerepo=epel-testing <包名>

# 设置仓库优先级
# 在.repo文件中添加:priority=数字(1-99,越小优先级越高)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注