您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# YUM仓库的配置及命令详解
## 1. YUM仓库概述
### 1.1 YUM的定义与作用
YUM(Yellowdog Updater Modified)是RPM包管理器的前端工具,主要用于:
- 自动化解决软件包依赖关系
- 从配置的仓库中检索和安装软件
- 管理系统更新和软件升级
- 提供查询和验证软件包的功能
### 1.2 YUM与RPM的关系
| 特性 | YUM | RPM |
|-------------|-------------------------|----------------------|
| 依赖解决 | 自动解决 | 需手动解决 |
| 软件源 | 支持多仓库 | 仅处理本地文件 |
| 功能范围 | 高级管理功能 | 基础包操作 |
## 2. YUM仓库配置文件
### 2.1 主配置文件
`/etc/yum.conf` 主要配置全局参数:
```ini
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
存放路径:/etc/yum.repos.d/*.repo
典型仓库配置示例:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
变量 | 说明 |
---|---|
$releasever | 系统主版本号(如7、8) |
$basearch | 系统架构(如x86_64) |
$arch | 处理器架构(更细粒度分类) |
# 安装软件包
yum install package_name
# 重新安装软件包
yum reinstall package_name
# 升级单个软件包
yum update package_name
# 升级所有可升级软件包
yum update
# 卸载软件包(保留依赖)
yum remove package_name
# 卸载软件包(包括未使用的依赖)
yum autoremove package_name
# 列出所有启用的仓库
yum repolist
# 列出所有仓库(包括禁用的)
yum repolist all
# 启用特定仓库
yum-config-manager --enable repo_name
# 禁用特定仓库
yum-config-manager --disable repo_name
# 添加新仓库
yum-config-manager --add-repo http://repo.url/repo.repo
# 搜索软件包
yum search keyword
# 显示软件包信息
yum info package_name
# 列出已安装软件包
yum list installed
# 检查可更新软件包
yum check-update
# 查看软件包依赖
yum deplist package_name
# 清理所有缓存
yum clean all
# 仅清理软件包缓存
yum clean packages
# 重建缓存
yum makecache
mkdir /local/repo
cp *.rpm /local/repo
createrepo /local/repo
[local-repo]
name=Local Repository
baseurl=file:///local/repo
enabled=1
gpgcheck=0
使用reposync工具同步远程仓库:
reposync --repoid=epel --download_path=/mirrors/epel
createrepo /mirrors/epel
安装插件并设置优先级:
yum install yum-plugin-priorities
仓库配置示例:
[high-priority-repo]
priority=1
[low-priority-repo]
priority=10
无法解析主机:
GPG验证失败:
yum install --nogpgcheck package_name
# 或永久禁用:
# 在repo配置中设置 gpgcheck=0
依赖冲突:
yum deplist package_name
yum remove conflicting_package
# 启用详细调试
yum --verbose install package_name
# 查看完整事务历史
yum history list
yum history info [ID]
GPG密钥验证:
rpm --import /path/to/key
最小化仓库启用:
定期更新:
yum update --security
CentOS 8/RHEL 8开始引入DNF作为YUM的替代:
特性 | YUM | DNF |
---|---|---|
性能 | 较慢 | 更快 |
依赖解析 | SAT算法 | 现代依赖解析器 |
API支持 | Python 2 | Python 3 |
兼容性命令:
alias yum=dnf
#!/bin/bash
LOG_FILE="/var/log/yum-auto-update.log"
DATE=$(date +"%Y-%m-%d %H:%M:%S")
echo "[$DATE] Starting yum update" >> $LOG_FILE
yum update -y >> $LOG_FILE 2>&1
echo "[$DATE] Update completed" >> $LOG_FILE
#!/bin/bash
for repo in $(yum repolist enabled | awk 'NR>1{print $1}'); do
echo "Checking packages from $repo"
yum list available --disablerepo="*" --enablerepo="$repo" | head -5
done
http://mirror.centos.org/centos/
https://dl.fedoraproject.org/pub/epel/
http://repoforge.org/use/
文件路径 | 说明 |
---|---|
/var/cache/yum/ | YUM缓存目录 |
/var/log/yum.log | 默认日志文件 |
/etc/pki/rpm-gpg/ | GPG密钥存储位置 |
/etc/yum/pluginconf.d/ | 插件配置文件目录 |
本文共计约4050字,涵盖了YUM仓库配置的核心知识和实践技巧。实际应用时请根据具体发行版版本进行调整,生产环境中建议先进行测试验证。 “`
注:实际字符数可能因格式和具体内容略有差异,本文使用Markdown格式编写,包含代码块、表格等结构化元素,便于技术文档的阅读和维护。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。