1、概述
前文说到程序包管理器rpm,而在安装程序时往往有太多的依赖关系,这个时候再使用rpm来依次安装的话,显得非常繁琐与低效率。而为了解决这个问题,就有了yum,yum是rpm的前端管理者。YUM全称Yellowdog Uddate Modifier,通过yum源,里面存储了大量的rpm包,以及包相关的元数据文件,来自动处理程序包之间的依赖关系,完成快速安装程序操作。
2、配置yum源
当使用yum命令来安装程序时,首先会向yum仓库中查找程序相关的包与所依赖的其他包。yum仓库可以同时指定多个仓库,它可以在所有仓库中找出最新的版本进行安装。
(1)挂载本地IOS镜像源
首先挂载镜像:mount -r /dev/cdrom /mnt/
通过修改/etc/yum.repos.d/*.rep配置文件定义仓库,只需要修改以.rep结尾的文件。
同一个文件内可定义多个仓库。
[repositoryID]:仓库ID号,不可重复
name=Some name for this repository:仓库名称
baseurl=url://path/to/repository/:仓库的访问路径,可指定多个
enabled={1|0}:是否启用此仓库
gpgcheck={1|0}:是否检查完整性及来源合法性
gpgkey=URL:指明秘钥文件
enablegroups={1|0}:是否支持组批量管理
failovermethod={roundrobin | priority}:故障转移方式
默认为:roundrobin,随机挑选;
keepalive:是否使用保持连接功能
cost= #:开销,默认为1000
(2)配置自己的yum源
可以将需要的rpm包存放至某个目录,定义这个目录成为自己的yum源。
例如:将/yum/repo/目录设置为yum源,使用createrepo命令:
createrepo /yum/repo
然后根据上述修改配置文件,添加目录为仓库既可。
3、yum命令
格式:yum [options] [command] [package ...]
选项:
--nogpgcheck:禁止进行gpg check; -y:安装时自动回答为yes操作; -q:静默模式; --disablerepo=repoidglob:临时禁用此处指定的repo; --enablerepo=repoidglob:临时启用此处指定的repo; --noplugins:禁用所有插件;
子命令:
显示仓库列表:
repolist [all | enabled | disabled]
显示程序包:
list: [all | glob_exp1] [glob_exp2] [...] {available | installed | updates} [glob_exp1] [...] all:所有程序包; available:可用的程序包; installed:已安装的程序包; updates:可用升级的程序包;
安装程序包:
install package1 [package2] [...] reinstall package1 [package2] [...] (重新安装)
升级程序包:
update [package1] [package2] [...] downgrade package1 [package2] [...] (降级)
检查可用升级:
check-update
卸载程序包:
remove | erase package1 [package2] [...]
查看程序包:
info [...]
查看指定的特性(可以是某文件)是由哪个程序包所提供:
provides | whatprovides feature1 [feature2] [...]
清理本地缓存:
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
构建缓存:
makecache
搜索:
search string1 [string2] [...] 以指定的关键字搜索程序包名及summary信息
查看指定包所依赖的capabilities
deplist package1 [package2] [...]
查看yum事务历史:
history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|roll‐back|new|sync|stats]
包组管理的相关命令:
groupinstall group1 [group2] [...] groupupdate group1 [group2] [...] grouplist [hidden] [groupwildcard] [...] groupremove group1 [group2] [...] groupinfo group1 [...]
4、实例
显示仓库列表:
查询要安装的包(php)是否存在
安装程序(PHP为例)
卸载程序
查看程序包详细信息
查看包之间的依赖关系
查看事务历史
5、总结
yum命令十分强大,此文只揭露冰山一角,详细说明可参考man文档。