简介
yum(Yellow dog Updater, Modified)是RedHat系统的前端的软件包管理工具,基于对RPM包的管理,能够根据配置文件从指定的服务器自动下载RPM包进行安装,并自动处理依赖性关系,从而在一定程度上解决了在手动安装RPM包时烦人的依赖问题
yum依赖于基于C/S架构的文件服务器,Server端可以是来自互联网,也可以来自局域网,这些文件服务器用来存放yum在安装程序包和所依赖的各种程序包,根据客户端的配置文件提供的多个仓库地址找到该仓库服务器进行查询,仓库服务器找到后会通过下载协议把相关文件包下载到本地的缓存(含元数据和程序包)目录中,并进行安装操作,之后再删除相关缓存。
不过在安装有依赖程序过程中如果发生断电等非正常情况时,yum将很难在下次安装时解决此问题,新一代的管理工具dnf在这方面已经有比较好的处理方法,相信dnf取代yum应该也是迟早的事,但目前yum还是比较普遍的解决方式,而且dnf的用法基本跟yum一样,学好yum为了将来更好的使用dnf……
配置文件
/etc/yum.conf:全局配置文件
1 | [main] |
/etc/yum.repos.d/*.repo:各yum仓库相关配置
默认生成的有:CentOS-Base.repo(默认启用)、CentOS-Debuginfo.repo、CentOS-fasttrack.repo、CentOS-Media.repo、CentOS-Vault.repo等,可以手动创建以.conf
结尾文件指定相应仓库,设置enabled=1或不写则开启此仓
1 | [base] #repo-ID,base为基础仓,默认还有updates、extras等 |
yum配置文件可用变量
$releasever
: 当前OS发行版本主版本号 如6或7$arch
: 平台 如ia32e架构$basearch
: 基础平台 如x86_64$uuid
:为本机生成唯一码,存放/var/lib/yum/uuid$YUM0-$YUM9
:可使用的环境变量
更多配置信息查看man yum.conf
主要用法
yum [options] [command] [package ...]
[options]
-y:所有交互式自动回答为yes
-q:安静模式操作
–nogpgcheck: 禁止gpg检查
–disablerepo=repoidglob: 临时禁用此处指定的仓库(默认enabled=1)
–enablerepo=repoidglob: 临时启用
–noplugins: 禁用所有插件
[command]
repolist
[all|enabled|disabled]:显示配置仓库信息list
[all|glob_exp1]:可安装或更新及已经安装的rpm包list
{available|installed|updates} [glob_exp]:加通配符查询相关匹配包list available 可用包
list updates 可用升级包
list installed 已安装包
install
package1…:安装新软件包,也可指定版本号安装,默认安装最新版
reinstall
package1…:重新安装
update
package1…: 升级程序包
check-update
package…:检测可用升级
remove|erase
package1…:卸载info
package:查看信息provides|whatprovides
feature1…: 查看特性或文件由哪个程序提供clean
[packages|metadata|expire-cache|rpmdb|plugins|all]:清理本地缓存search
string1…: 搜索包名及简介makecache
: 构建缓存downgrade
package:降级deplist
package1…: 包的依赖信息history
:查看yum事务历史(安装,卸载,升级)history info
history list
history summary
history stats
group*
: 包组管理grouplist:查看系统中已经安装的和可用的软件包组
groupinfo:查询包组内软件包列表
groupinstall:安装指定软件组中的所有软件包
groupupdate:更新指定软件组中的所有软件包
groupremove:卸载指定软件组中的所有软件包
常用例子
1 | yum repolist #列出当前yum仓信息 |
本地光盘做yum源
mount -r -t iso9660 /dev/sr0 /mnt/cdrom
:挂载光盘vim /etc/yum.repo.d/CentOS-Local.repo
:新建仓配置文件,并写入以下信息yum repolist
:查看仓信息
1 | [centos7] |
简单搭建本地yum仓
- 安装createrepo工具
- 准备好rpm包放置/mnt/yum目录下
- createrepo /mnt/yum:创建仓,会在包目录下产生一个repodata目录
- 新建一个.repo配置文件(同上)
- yum repolist:查看仓信息
其它
centos默认在线源为官方,有时访问会出现问题,可简单下载阿里或163提供的镜像repo文件,更换系统配置文件
1 | mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak #备份原repo |
以上内容整理自马哥笔记