一、Yum介绍:
YUM是“Yellow dog Updater, Modified”的缩写,可执行程序名为yum。YUM是一个在Fedora中的Shell前端软件包管理器。在红帽企业版Linux 5中引入YUM的重要原因之一,便是YUM能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装,便于管理大量系统的更新问题。
二、YUM的特点有:
可以同时配置多个资源库(Repository)
简洁的配置文件(/etc/yum.conf)
自动解决增加或删除rpm包时遇到的倚赖性问题
使用方便
保持与RPM数据库的一致性
三、为什么要进行YUM库的配置
我们在安装好Linux后要进行YUM源的设置,是为了方便日后对软件包的管理,解决单独安装RPM软件包时可能产生的软件包依赖关系(使用yum人仓库中安装软件包,如果还有依赖的软件包,yum工具会一并安装。 在企业中,我们会设置企业自己的YUM源(库)方便企业Linux系统(主要是红帽和红帽的Fedora)对软件包的管理,更重要的原因是保证YUM源的安全性,因为一个软件包从源头就被开了口子那我们安装了这样的软件就等于给自己身上开刀! 所以,我们要对YUM库进行必要的配置工作。
四、YUM知识简单介绍
yum 命令接受命令行语法为: (以下为man中的信息)
yum [options] [command] [package ...] command is one of: * install package1 [package2] [...] * update [package1] [package2] [...] * check-update * upgrade [package1] [package2] [...] * remove | erase package1 [package2] [...] * list [...] * info [...] * provides | whatprovides feature1 [feature2] [...] * clean [ packages | headers | metadata | dbcache | all ] * makecache * groupinstall group1 [group2] [...] * groupupdate group1 [group2] [...] * grouplist [hidden] [groupwildcard] [...] * groupremove group1 [group2] [...] * groupinfo group1 [...] * search string1 [string2] [...] * shell [filename] * resolvedep dep1 [dep2] [...] * localinstall rpmfile1 [rpmfile2] [...] * localupdate rpmfile1 [rpmfile2] [...] * reinstall package1 [package2] [...] * downgrade package1 [package2] [...] * deplist package1 [package2] [...] * repolist [all|enabled|disabled] * help [command]
(以下是几个常用命令的介绍(以RHEL5(红帽企业版5)为蓝本)
1. 列出软件包
使用yum list命令可以列出系统已安装的软件包和仓库中可用的软件包,以列表格式给出。其命令格式为:
yum list [...]
可以包含的子命令如下:
1.1 yum list [all|glob_exp1][glob_exp2][...] 列出所有已安装和仓库中可用的软件包
1.2 yum list [glob_exp1][...] 列出仓库中所有可用的软件包
1.3 yum list updates [glog_exp1][...] 列出仓库中比系统已安装软件包新的软件包
1.4 yum list installed [glob_exp1][...] 列出已安装的软件包
1.5 yum list recent 列出新加入仓库的软件包 其中子命令后面可以跟一个正则表达式参数,用于选定列出的软件包。
2. 安装软件包
和rpm -i命令类似,使用yum install命令可以安装一个或多个软件包,将软件报名作为参数附加在yum install命令之后即可。
yum自动解决软件包之间的依赖关系。其命令语法为:
yum install package1 [package2] [...]
还可以使用yum groupinstall命令成组安装软件包。组名可以用yum grouplist查询。
其命令行语法为: yum groupinstall group1 [group2] [...]
[注]如果软件组名包含空格,需要用引号将组名括起来以防yum将其理解为多个参数。
3.删除软件包
和rpm -e命令类似,使用yum remover或yum erase命令可以删除一个或多个软件包。
其命令语法为:
yum remove package1 [package2] [...]
yum erase package1 [package2] [...]
[注意]如果删除的软件包还有被其他软件包所依赖,那些软件包也会被一并删除。
同样,还可以使用yum groupremove命令按组删除软件包。
其命令行语法为: yum groupremove group1 [group2] [...]
4.检查新版本
使用yum check-update命令还可以检查YUM仓库中是否有比本地已安装的软件包的更新版本。
5.升级软件包
和rpm -U或rpm -F命令类似,使用yum update命令可以安装一个软件包的更新版本。
其命令行语法为:
yum update [package1] [package2] [...]
如果需要将系统所有已安装的软件包更新到最新版本,可以使用不加参数调用yum update命令。
同样,还可以使用yum groupupdate命令成组升级软件包。其命令说语法为: yum groupupdate group1 [group2] [...]
五、YUM库的配置
讲解如下,总结的步骤见后面:
1. 源的配置文件在/etc/yum.repos.d下,可以存放在/etc/pki/rpm-gpg下。
2. 默认模板为rhel-debuginfo.repo,
内容如下:
[rhel-debuginfo] name=Red Hat Enterprise Linux $releasever - $basearch - Debug baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
3. 在进行配置前copy一份rhel-debuginfo.repo,以保留模板 #cp rhel-debuginfo.repo server.repo
4. 修改server.reop
#vi server.reop
[Server] name=Red Hat Enterprise Linux Server (名称注释) baseurl=ftp://192.168.0.254:/var/ftp/pub/Server (这里写YUM源的地址) enabled=1 (开启库) gpgcheck=0 (校验用,检查文件是否正确) (这里原本是校验文件的地址!此处将这一行删除了,因为gpgchech=0,即不启用校验)