当我们在liunx系统中安装某个软件时,经常会遇到一些软件的依赖问题。yum或者Yellow dog Update或者Modified是杜克大学为了提高RPM软件包安装性而开发的一种软件包管理器。Yum可以从众多软件包仓库中搜索软件的依赖关系,因此可以减少由于依赖关系带来的问题。还有就是我们在使用图形界面时,在应用程序-添加删除软件下的浏览里是空的。如下图: 
第一种方法:(推荐) 
第一步:新建一个文件夹,并把光盘内的所有文件复制到这个文件夹里: 
# mkdir /yum 
# cp -rvf /misc/cd/* /yum 
第二步:备份repodata文件。因为有四个文件夹里都有这个文件,所以都要备份。 
# mv /yum/Server/repodata /yum/Server/repodata.bak 
# mv /yum/VT/repodata /yum/VT/repodata.bak 
# mv /yum/Cluster/repodata /yum/Cluster/repodata.bak 
# mv /yum/ClusterStorage/repodata /yum/ClusterStorage/repodata.bak 
第三步:安装工具包: 
# rpm -ivh /yum/Server/createrepo-0.4.11-3.el5.noarch.rpm 
第四步:生成仓库数据库: 
# createrepo -g /yum/Server/repodata.bak/comps-rhel5-server-core.xml /yum/Server/ 
# createrepo -g /yum/VT/repodata.bak/comps-rhel5-vt.xml /yum/VT/ 
# createrepo -g /yum/Cluster/repodata.bak/ /yum/Cluster 
# createrepo -g /yum/ClusterStorage/repodata.bak/comps-rhel5-cluster-st.xml /yum/ClusterStorage/ 
第五步:查看仓库数据文件: 
# ls /yum/Server/repodata/ 
comps-rhel5-server-core.xml //这个文件软件包组的分类。 
filelists.xml.gz other.xml.gz primary.xml.gz //这三个文件为软件包列表文件。 
repomd.xml //这个文件为MD5校验信息。 
在/yum/VT /yum/Cluster /yum/ClusterStorage下面都有这几个文件,作用和这一样。如果想更新软件包,只需把下载完的软件包放在Server或者其他三个目录里,再使用第四步重新生成数据库文件即可。 
第六步:客户端配置:主要修改下面红色的部分: 
# cp /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/chenbin.repo 
# vi /etc/yum.repos.d/chenbin.repo 
[rhel-Server] 
name=Red Hat Enterprise Linux $releasever - $basearch - Debug 
baseurl=file:///yum/Server 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
[rhel-VT] 
name=Red Hat Enterprise Linux $releasever - $basearch - Debug 
baseurl=file:///yum/VT 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
[rhel-Cluster] 
name=Red Hat Enterprise Linux $releasever - $basearch - Debug 
baseurl=file:///yum/Cluster 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
[rhel-ClusterStorage] 
name=Red Hat Enterprise Linux $releasever - $basearch - Debug 
baseurl=file:///yum/ClusterStorage 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
第七步:查看:如图,已经出现软件列表了。 
如果在上图中的编辑里选择软件存储库,就出现下图: 
如果把这里的勾去掉,再次打开就没有软件列表了,同时在/etc/yum.repos.d/chenbin.repo配置文件下的enabled=0。 
清除一下yum安装时的缓存: 
# yum clean all 
安装一个软件试试: 
# rpm -ivh /yum/Server/httpd-2.2.3-22.el5.i386.rpm 
warning: /yum/Server/httpd-2.2.3-22.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 
error: Failed dependencies: 
 libapr-1.so.0 is needed by httpd-2.2.3-22.el5.i386 
 libaprutil-1.so.0 is needed by httpd-2.2.3-22.el5.i386 
因为依赖关系,所以不能安装。用如下命令安装: 
# yum install /yum/Server/httpd-2.2.3-22.el5.i386.rpm 
系统会自动安装完成。Yum缷载如下: 
# yum remove httpd。 
1.2第二种方法: 
第一步:同上,创建一个新文件夹,并把光盘的内容全部复制到该文件夹内: 
# mkdir /yum 
# cp -rvf /misc/cd/* /yum 
第二步:安装工具包: 
# rpm -ivh /yum/Server/createrepo-0.4.11-3.el5.noarch.rpm 
第三步:生成仓库数据库: 
# cd /yum 
# createrepo . //注意后面的. 
第四步:查看文件:文件作用同上: 
# ls /yum/repodata/ 
filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml 
第五步:客户端配置: 
# cp /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/chenbin.repo 
# vi /etc/yum.repos.d/chenbin.repo 
[rhel-chenbin] 
name=Red Hat Enterprise Linux $releasever - $basearch - Debug 
baseurl=file:///yum/ 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
清除yum安装时的缓存: 
# yum clean all 
至此,yum安装完成,但使用这种方法安装后在应用程序-添加删除软件的列表是空的,但使用yum安装软件是可以的。 
# yum install /yum/Server/httpd-2.2.3-22.el5.i386.rpm 
# yum remove httpd 
1.3第三种方法: 
首先把光盘放入光驱内: 
然后复制配置文件: 
# cp /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/chenbin.repo 
最后编辑配置文件: 
# vi /etc/yum.repos.d/chenbin.repo 
[rhel-Server] 
name=Red Hat Enterprise Linux $releasever - $basearch - Debug 
baseurl=file:///misc/cd/Server 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
[rhel-VT] 
name=Red Hat Enterprise Linux $releasever - $basearch - Debug 
baseurl=file:///misc/cd/VT 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
[rhel-Cluster] 
name=Red Hat Enterprise Linux $releasever - $basearch - Debug 
baseurl=file:///misc/cd/Cluster 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
[rhel-ClusterStorage] 
name=Red Hat Enterprise Linux $releasever - $basearch - Debug 
baseurl=file:///misc/cd/ClusterStorage 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
清除缓存: 
# yum clean all 
这种方法安装后在应用程序-添加删除软件里也有列表。同样可以使用yum安装缷载 
# yum install /misc/cd/Server/httpd-2.2.3-22.el5.i386.rpm 
# yum remove httpd 
如果把光盘拿出后,在应用程序-添加删除软件就没有列表了,只要放入光盘就有。 
1.4总结:YUM常用命令: 
1.安装软件包: 
yum install package 
yum localinstall package 从本机目录安装软件包 
yum groupinstall group 安装某个组件的全部软件包 
2.更新软件包: 
yum update package 
yum check-update 列出所有可更新的软件包 
yum list updates mysql* 查找mysql的更新 
yum update 更新所有可更新的软件包 
yum update mysql* 更新所有mysql的软件包 
yum groupupdate group 更新某个组件的所有软件包 
yum list 列出所有已安装和仓库中可用的软件包 
yum list available 列出仓库中所有可用的软件包 
yum list updates 列出仓库中比当前系统更新的软件包 
yum list installed 列出已安装的软件包 
yum list recent 列出新加入仓库的软件包 
yum info 查询软件包信息 
3.删除软件包: 
yum remove package 
yum groupremove group 删除某个组件的全部软件包 
4.清除软件包 
yum clean packages 清除遗留在缓存里的包文件 
yum clean metadata 清除遗留在缓存里的元数据 
yum clean headers 清除遗留在缓存里的头文件 
yum clean all 清除包文件,元数据,头文件 
5.搜索软件包: 
yum search package 
yum info package 查找一个软件包的信息 
yum list package 列出包含指定信息的软件包 
yum list installed 列出已安装的软件包 
yum list extras 列出不是通过软件仓库安装的软件包 
yum list *ttp* 列出标题包含ttp的软件包 
yum list updates 列出可以更新的软件包 
6.查找特定文件是由什么软件包提供的: 
yum whatprovides filename 
例子: 
yum whatprovides httpd.conf 
可用选项 
–disalberepo=lib 禁用某个软件仓库 
–enalberepo=lib 启用某个软件仓库 
-C 禁用使用本机缓存的元数据 
例子: 
yum –disalberepo=livna|–enalberepo=livna install mplayer 
yum -C info httpd
                










