Skip to content

7. 软件仓库配置 🛠️

本章节指导在 RHEL 8.10(主机名 ZSLinux)上使用 SecureCRT 和 SecureFX 配置软件仓库,涵盖官方仓库(BaseOS 和 AppStream)、本地源(未注册订阅)以及 EPEL 仓库的配置。内容设计简洁,步骤清晰,注释明确,适合初学者和运维人员。所有操作在 ZSLinux 环境中测试,确保一致性和可重复性。


7.1 前提条件 📋

在开始配置之前,请确保满足以下条件:

  • RHEL 8.10 已正确安装(参考第 1 章),主机名设置为 ZSLinux
  • 使用 SecureCRT 通过 SSH2 协议(端口 2222)登录(参考第 6 章)。
  • 使用 SecureFX 通过 SFTP 协议传输文件。
  • 若使用官方仓库,需完成 Red Hat 订阅注册(参考第 4 章)。
  • 若未注册订阅,需准备 RHEL 8.10 ISO 文件,保存至 /root/rhel-8.10.iso(参考第 1 章)。
  • 网络连接正常(官方仓库和 EPEL 仓库需联网,本地源无需联网)。

提示 💡

  • 确保 SecureCRT 和 SecureFX 的版本兼容 RHEL 8.10,建议使用最新版本以避免协议或连接问题。
  • 验证网络连通性:使用 ping 8.8.8.8 测试网络是否正常。

检查点

  • [ ] 确认 RHEL 8.10 安装完成,主机名是否为 ZSLinux(运行 hostname 检查)。
  • [ ] 验证 SecureCRT 登录(ssh user@ZSLinux -p 2222)是否成功。
  • [ ] 检查 /root/rhel-8.10.iso 是否存在(未注册订阅用户)。

7.2 仓库配置 ⚙️

以下步骤分别介绍官方仓库、本地源和 EPEL 仓库的配置方法,确保满足不同场景需求。

7.2.1 启用官方仓库(已注册订阅) 🌐

说明:注册 Red Hat 订阅后,需手动启用 BaseOS 和 AppStream 仓库以访问官方软件包。BaseOS 提供核心系统组件(如内核、基础工具),AppStream 提供模块化应用(如 Web 服务器、开发工具)。

步骤

  1. 注册并自动附加订阅:

    bash
    subscription-manager register --auto-attach
  2. 启用 BaseOS 仓库:

    bash
    subscription-manager repos --enable rhel-8-for-x86_64-baseos-rpms
  3. 启用 AppStream 仓库:

    bash
    subscription-manager repos --enable rhel-8-for-x86_64-appstream-rpms

注意 ⚠️

  • 确保订阅有效,运行 subscription-manager status 检查状态。
  • 如果网络不稳定,可能导致订阅注册失败,检查网络后重试。

检查点

  • 运行 dnf repolist,确认 rhel-8-for-x86_64-baseos-rpmsrhel-8-for-x86_64-appstream-rpms 已启用。

7.2.2 配置本地源(未注册订阅) 💿

说明:未注册订阅的用户可通过 RHEL 8.10 ISO 文件配置本地源,无需联网即可安装软件包。

步骤

  1. 使用 SecureFX 上传 RHEL 8.10 ISO 文件至 /root/rhel-8.10.iso
  2. 创建挂载点并挂载 ISO 文件:
    bash
    mkdir -p /mnt/rhel-iso
    mount -o loop /root/rhel-8.10.iso /mnt/rhel-iso
  3. 创建本地源配置文件:
    bash
    vi /etc/yum.repos.d/local-rhel.repo
    添加以下内容:
    ini
    [local-baseos]
    name=Local RHEL 8.10 BaseOS
    baseurl=file:///mnt/rhel-iso/BaseOS
    enabled=1
    gpgcheck=0
    
    [local-appstream]
    name=Local RHEL 8.10 AppStream
    baseurl=file:///mnt/rhel-iso/AppStream
    enabled=1
    gpgcheck=0
  4. 配置永久挂载以确保重启后生效:
    bash
    echo "/root/rhel-8.10.iso /mnt/rhel-iso iso9660 loop,ro 0 0" >> /etc/fstab
  5. 验证挂载配置:
    bash
    mount -a

提示 💡

  • 使用 ls /mnt/rhel-iso 检查挂载点内容,确保包含 BaseOS 和 AppStream 目录。
  • 禁用 GPG 校验(gpgcheck=0)可简化配置,但生产环境中建议启用以确保软件包完整性。

注意 ⚠️

  • 确保 /root/rhel-8.10.iso 文件路径正确,文件损坏可能导致挂载失败。
  • 如果挂载失败,检查 ISO 文件完整性(运行 sha256sum /root/rhel-8.10.iso)。

检查点

  • 运行 mount | grep /mnt/rhel-iso,确认 ISO 已挂载。
  • 运行 dnf repolist,确认 local-baseoslocal-appstream 已启用。

7.2.3 添加 EPEL 仓库 📦

说明:EPEL(Extra Packages for Enterprise Linux)提供额外的软件包,需联网安装。

步骤

  1. 安装 EPEL 仓库:
    bash
    dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
  2. 验证 EPEL 仓库:
    bash
    dnf repolist | grep epel

提示 💡

  • EPEL 仓库适用于安装非官方支持的工具,如 htoptmux

注意 ⚠️

  • 确保网络连接正常,URL 不可访问时可尝试备用镜像(如 https://mirrors.tuna.tsinghua.edu.cn/epel/)。
  • EPEL 软件包可能与 RHEL 官方包存在依赖冲突,安装前建议检查兼容性。

检查点

  • 运行 dnf repolist,确认 epel 仓库已启用。

7.2.4 安装软件包 🛠️

说明:配置完成后,可从启用仓库安装软件包,以下以 htop 为例。

步骤

  1. 安装 htop:
    bash
    dnf install -y htop
  2. 验证安装:
    bash
    dnf list installed | grep htop

提示 💡

  • 使用 dnf search <package> 查找可用软件包。
  • 若安装失败,运行 dnf clean all 清理缓存后重试。

检查点

  • 运行 htop --version,确认安装成功。

7.3 验证 🔍

完成仓库配置后,需验证所有仓库和软件包是否正常工作。

步骤

  1. 检查可用仓库:

    bash
    dnf repolist
    • 已注册订阅:应显示 rhel-8-for-x86_64-baseos-rpmsrhel-8-for-x86_64-appstream-rpmsepel
    • 未注册订阅:应显示 local-baseoslocal-appstreamepel
  2. 验证软件安装:

    bash
    dnf list installed | grep htop
  3. 检查挂载点(本地源):

    bash
    mount | grep /mnt/rhel-iso

常见问题及解决方法 ❓

  • 官方仓库不可用:运行 subscription-manager status 检查订阅状态,或使用 ping mirrors.redhat.com 测试网络。
  • 本地源不可用:检查挂载点(ls /mnt/rhel-iso)或 ISO 文件路径(ls -l /root/rhel-8.10.iso)。
  • EPEL 安装失败:验证 URL(curl -I https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm)或更换镜像。

7.4 实践任务 📝

通过以下任务巩固配置技能:

  1. 使用 SecureCRT 登录 ZSLinux(端口 2222)。
  2. 根据订阅状态选择:
    • 已注册:启用 BaseOS 和 AppStream 仓库。
    • 未注册:配置本地源(挂载 /root/rhel-8.10.iso/mnt/rhel-iso)。
  3. 安装并验证 EPEL 仓库。
  4. 使用 dnf 安装 htop 并验证安装成功。

提示 💡
保存所有配置文件副本:

bash
cp /etc/yum.repos.d/*.repo /root/backup/

便于故障恢复。


7.5 自测问题 ❓

以下问题帮助检验知识掌握情况:

  • 问题:BaseOS 和 AppStream 仓库的区别是什么?
    答案:BaseOS 提供核心系统组件(如内核、基础工具),AppStream 提供模块化应用(如 Web 服务器、开发工具)。

  • 问题:如何启用 RHEL 官方 BaseOS 仓库?
    答案

    bash
    subscription-manager repos --enable rhel-8-for-x86_64-baseos-rpms
  • 问题:如何配置本地源?
    答案:上传 ISO 至 /root/rhel-8.10.iso,挂载至 /mnt/rhel-iso,编辑 /etc/yum.repos.d/local-rhel.repo 添加 BaseOS 和 AppStream 配置。

  • 问题:如何验证 EPEL 仓库是否启用?
    答案

    bash
    dnf repolist | grep epel

7.6 补充说明 📚

  • 安全建议:生产环境中,建议启用 GPG 校验(gpgcheck=1)并导入 Red Hat 官方 GPG 密钥(/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release)。
  • 性能优化:使用 dnf 的 --refresh 选项定期更新仓库元数据:
    bash
    dnf makecache --refresh
  • 故障排查:启用调试日志(dnf --verbose)以获取详细错误信息。

提示 💡
定期检查 Red Hat 和 EPEL 官方公告,确保使用最新仓库地址和软件包。

采用 CC BY-NC-ND 4.0 许可。欢迎邮件反馈(zslinux@qq.com)