Appearance
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 服务器、开发工具)。
步骤:
注册并自动附加订阅:
bashsubscription-manager register --auto-attach启用 BaseOS 仓库:
bashsubscription-manager repos --enable rhel-8-for-x86_64-baseos-rpms启用 AppStream 仓库:
bashsubscription-manager repos --enable rhel-8-for-x86_64-appstream-rpms
注意 ⚠️
- 确保订阅有效,运行
subscription-manager status检查状态。 - 如果网络不稳定,可能导致订阅注册失败,检查网络后重试。
检查点 ✅
- 运行
dnf repolist,确认rhel-8-for-x86_64-baseos-rpms和rhel-8-for-x86_64-appstream-rpms已启用。
7.2.2 配置本地源(未注册订阅) 💿
说明:未注册订阅的用户可通过 RHEL 8.10 ISO 文件配置本地源,无需联网即可安装软件包。
步骤:
- 使用 SecureFX 上传 RHEL 8.10 ISO 文件至
/root/rhel-8.10.iso。 - 创建挂载点并挂载 ISO 文件:bash
mkdir -p /mnt/rhel-iso mount -o loop /root/rhel-8.10.iso /mnt/rhel-iso - 创建本地源配置文件:bash添加以下内容:
vi /etc/yum.repos.d/local-rhel.repoini[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 - 配置永久挂载以确保重启后生效:bash
echo "/root/rhel-8.10.iso /mnt/rhel-iso iso9660 loop,ro 0 0" >> /etc/fstab - 验证挂载配置: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-baseos和local-appstream已启用。
7.2.3 添加 EPEL 仓库 📦
说明:EPEL(Extra Packages for Enterprise Linux)提供额外的软件包,需联网安装。
步骤:
- 安装 EPEL 仓库:bash
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm - 验证 EPEL 仓库:bash
dnf repolist | grep epel
提示 💡
- EPEL 仓库适用于安装非官方支持的工具,如
htop或tmux。
注意 ⚠️
- 确保网络连接正常,URL 不可访问时可尝试备用镜像(如
https://mirrors.tuna.tsinghua.edu.cn/epel/)。 - EPEL 软件包可能与 RHEL 官方包存在依赖冲突,安装前建议检查兼容性。
检查点 ✅
- 运行
dnf repolist,确认epel仓库已启用。
7.2.4 安装软件包 🛠️
说明:配置完成后,可从启用仓库安装软件包,以下以 htop 为例。
步骤:
- 安装 htop:bash
dnf install -y htop - 验证安装:bash
dnf list installed | grep htop
提示 💡
- 使用
dnf search <package>查找可用软件包。 - 若安装失败,运行
dnf clean all清理缓存后重试。
检查点 ✅
- 运行
htop --version,确认安装成功。
7.3 验证 🔍
完成仓库配置后,需验证所有仓库和软件包是否正常工作。
步骤:
检查可用仓库:
bashdnf repolist- 已注册订阅:应显示
rhel-8-for-x86_64-baseos-rpms、rhel-8-for-x86_64-appstream-rpms和epel。 - 未注册订阅:应显示
local-baseos、local-appstream和epel。
- 已注册订阅:应显示
验证软件安装:
bashdnf list installed | grep htop检查挂载点(本地源):
bashmount | 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 实践任务 📝
通过以下任务巩固配置技能:
- 使用 SecureCRT 登录
ZSLinux(端口 2222)。 - 根据订阅状态选择:
- 已注册:启用 BaseOS 和 AppStream 仓库。
- 未注册:配置本地源(挂载
/root/rhel-8.10.iso至/mnt/rhel-iso)。
- 安装并验证 EPEL 仓库。
- 使用
dnf安装htop并验证安装成功。
提示 💡
保存所有配置文件副本:
bash
cp /etc/yum.repos.d/*.repo /root/backup/便于故障恢复。
7.5 自测问题 ❓
以下问题帮助检验知识掌握情况:
问题:BaseOS 和 AppStream 仓库的区别是什么?
答案:BaseOS 提供核心系统组件(如内核、基础工具),AppStream 提供模块化应用(如 Web 服务器、开发工具)。问题:如何启用 RHEL 官方 BaseOS 仓库?
答案:bashsubscription-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 仓库是否启用?
答案:bashdnf repolist | grep epel
7.6 补充说明 📚
- 安全建议:生产环境中,建议启用 GPG 校验(
gpgcheck=1)并导入 Red Hat 官方 GPG 密钥(/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release)。 - 性能优化:使用 dnf 的
--refresh选项定期更新仓库元数据:bashdnf makecache --refresh - 故障排查:启用调试日志(
dnf --verbose)以获取详细错误信息。
提示 💡
定期检查 Red Hat 和 EPEL 官方公告,确保使用最新仓库地址和软件包。
