Oracle OCP知识点详解2:yum 等服务的搭建

一、YUM/DNF 服务架构解析

1.1 核心组件交互流程

复制代码
sequenceDiagram
participant Client
participant YUM
participant Repository
participant RPMDB

Client->>YUM: yum install oracle-database-preinstall
YUM->>Repository: 获取元数据(repodata)
Repository-->>YUM: 返回软件包列表
YUM->>RPMDB: 检查已安装依赖
YUM->>Client: 显示解决方案
Client->>YUM: 确认安装
YUM->>Repository: 下载.rpm文件
Repository-->>YUM: 传输软件包
YUM->>RPMDB: 执行安装并更新数据库

1.2 Oracle Linux 仓库类型

仓库类型 访问方式 典型用途
ULN (Unbreakable Linux Network) 在线认证 获取官方安全更新
本地镜像仓库 HTTP/NFS 内网高速访问
Oracle Public Yum 公共HTTP 基础包获取
EPEL 第三方源 扩展软件包支持

二、本地 YUM 仓库搭建

2.1 基础仓库创建

复制代码
# 创建仓库目录结构
mkdir -p /var/www/html/repos/OracleLinux/OL9/baseos/x86_64
cp /mnt/iso/*.rpm /var/www/html/repos/OracleLinux/OL9/baseos/x86_64/

# 安装创建工具
dnf install -y createrepo

# 生成仓库元数据
createrepo -v /var/www/html/repos/OracleLinux/OL9/baseos/x86_64/

# 配置 Web 服务
systemctl enable --now httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload

三、ULN 仓库配置

3.1 注册系统到 ULN

复制代码
# 安装所需工具
dnf install -y uln-registration

# 注册系统(需替换认证信息)
uln_register --username oracle_ocp_user --password MySecurePass123! \
  --serverurl https://linux-update.oracle.com

# 查看已注册频道
uln-channel --list

四、故障排查与日志分析

4.1 常见问题处理

故障现象 排查命令 解决方案
仓库元数据无法下载 curl -v <repo_url>/repodata/repomd.xml 检查网络/Firewall/路径权限
软件包依赖冲突 dnf repoquery --deplist <package> 使用 --skip-broken 跳过
GPG 验证失败 rpm --import <new_key> 更新 GPG 密钥
下载速度慢 dnf --setopt=timeout=30 install <pkg> 调整超时时间或更换镜像源

4.2 关键日志文件

| 日志路径 | 信息类型 | 分析工具建议 |
|---------------------------|-----------|---------------------|------|-----------|
| /var/log/yum.log | 软件安装历史记录 | grep "Installed:" |
| /var/cache/dnf/* | 缓存元数据与软件包 | du -sh 查看缓存大小 |
| /var/log/httpd/access_log | 仓库访问日志 | `awk '{print $1}' | sort | uniq -c` |

欢迎在评论区提交您的仓库配置案例或技术疑问!带你了解OCP证书含金量解析与高效备考攻略 | 2025年职业发展必备_博睿谷培训

相关推荐
lichenyang4532 小时前
使用react进行用户管理系统
数据库
木子.李3472 小时前
数据结构-算法学习C++(入门)
数据库·c++·学习·算法
Layux2 小时前
flowable候选人及候选人组(Candidate Users 、Candidate Groups)的应用包含拾取、归还、交接
java·数据库
@Turbo@3 小时前
【QT】在QT6中读取文件的方法
开发语言·数据库·qt
ArabySide4 小时前
【EF Core】 EF Core 批量操作的进化之路——从传统变更跟踪到无跟踪更新
数据库·.net·efcore
线条15 小时前
Hive SQL 中 BY 系列关键字全解析:从排序、分发到分组的核心用法
数据库·hive·sql
字节源流6 小时前
【MYSQL】索引篇(一)
数据库·mysql
n33(NK)6 小时前
MySQL中count(1)和count(*)的区别及细节
数据库·mysql
heart000_17 小时前
MySQL高级查询技巧:分组、聚合、子查询与分页【MySQL系列】
数据库·mysql
凭君语未可8 小时前
MySQL中COUNT(*)、COUNT(1)和COUNT(字段名)的深度剖析与实战应用
数据库·mysql