yum的目的是为了解决RPM依赖关系的问题,方便使用者进行软件的安装、升级等工作。
RHEL5中默认提供了对YUM的支持。
yum的基本工作流程:
服务器端:在服务器上面存放了所有的RPM软件包,然后通过命令分析每个RPM文件的依赖性,将这些数据记录成文件存放在服务器上。(HTTP、FTP)
客户端:安装软件是,通过yum服务器上记录的依赖性关系文件,下载依赖关系需要所有相关的软件,自动全部下载并安装。
 
yum仓库简单来说,就是rpm包的存放位置和元数据文件
元数据文件的各种信息:
    primary.xml.gz
    所有rpm包的列表,有依赖关系
    每个rpm包安装生成的文件列表
    filelists.xml.gz
    当期那仓库中所有rpm包的所有文件列表
    other.xml.gz
    额外信息,rpm包的修改日志
    repomd.xml
    记录的是上面三个软件的时间戳和校验和
    comps-rhel5-server-core.xml:rpm包的分组信息
yum仓库配置需要有一个yum源,我们将元数据文件(repodata)指向的目录作为yum仓库。
光盘作为yum源:
将光盘作为yum源时,只需要将光盘挂载至一个本地目录即可
# mount -r /dev/cdrom /media/cdrom
创建本地yum仓库:
1、createrepo 仓库路径  (createrepo也需要用软件包安装)
# createrepo /yum/VT
(前提是将yum源中的VT目录里的软件包复制到/yum目录中)
例:#  cp /media/cdrom/VT/*.rpm  /yum/VT/
2、为yum定义repo文件,指定yum仓库的路径
3、查看repo列表及其简要信息
如何为yum定义repo文件
 
在/etc/yum.repos.d/目录下创建以.repo结尾的文件,在里面定义如下:
   
 
   
  1. [Repo_ID]  
  2.     name=Description  
  3.     baseurl=  
  4.     ftp://  
  5.     http://  
  6.     file:///  
  7.     enabled={1|0}  
  8.     gpgcheck={1|0} # gpgkey=安全密钥的文件路径  
 
(可定义两个yum源)
 
   
  1. yum的相关命令:  
  2.     list:列表  
  3.           all(查看仓库中所有软件包)  
  4.             例: # yum list all zsh*  
  5.           available:可用的,仓库中有且尚未安装的  
  6.           install:已经安装的  
  7.           updates:可用的升级  
  8.           repolist:显示repo列表及其简要信息  
  9.                  [all|enabled(默认)|disabled]  
  10.           clean:清理缓存  
  11.                  [ packages | headers | metadata | dbcache | all ]  
  12.           install:安装 (可自动解决依赖关系)  
  13.                    yum install PACKAGES_NAME  
  14.                           -y:自动回答yes  
  15.                           --nogpgcheck:不做gpg检查  
  16.                     例:# yum install -y httpd  
  17.          update:升级到最新版本  
  18.          uptade-to:升级为指定版本  
  19.          remove | erase:卸载  
  20.                     -y:自动回答yes  
  21.          info:显示rpm包的简要信息  相当于"rpm -qi" 
  22.                     yum info PACKAGE_NAME  
  23.          provides | whatprovides:查看指定的文件或特性是由那个包安装生成 相当于“rpm -qf"  
  24.          groupinstall:创建组  
  25.          groupupdate:升级组  
  26.          grouplist:显示组列表及其简要信息  
  27.          groupremove:删除组  
  28.          groupinfo:显示一个组中安装的软件包  
  29.          localinstall:本地安装  
  30.                    yum localinstall /path/to/PACKAGE_FILE   
  31.                               --nogpgcheck:不做gpg检查,即不检查其安全性和完整性  
  32.                       例:# yum localinstall -y httpd-devel-2.2.3-63.el5.i386.rpm   
  33.          localupdate:本地升级  
 
以上即为使用yum仓库安装、卸载软件的过程。