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年职业发展必备_博睿谷培训

相关推荐
bing_15833 分钟前
如何利用 Redis 的原子操作(INCR, DECR)实现分布式计数器?
数据库·redis·分布式
一个人的博客@你42 分钟前
C#多数据库批量执行脚本工具
数据库·c#·批量执行·sql脚本·多数据库执行
果冻kk1 小时前
MySQL MVCC:并发神器背后的原理解析
数据库·mysql
卍郝凝卍1 小时前
云上服务器常见的存储方式和类型
大数据·服务器·数据库
axban2 小时前
QT中删除控件的注意事项、deleteLater和delete的区别
java·数据库·qt
♪张三儿℡3 小时前
Oracle优化学习十六
数据库·学习·oracle
胡琦博客3 小时前
LLM Prompt与开源模型资源(3)如何写一个好的 Prompt
数据库·开源·prompt
betazhou3 小时前
postgresql创建只读用户并授权
数据库·postgresql
Fireworkitte3 小时前
SQL 中 CASE WHEN 及 SELECT CASE WHEN 的用法
数据库·sql·mysql
小云数据库服务专线4 小时前
GaussDB 数据库设计规范
数据库·设计规范·gaussdb