yum
  c/s的工作方式
  有yum源即服务器
  有yum客户即本地使用yum命令的主机
   功能,自动解决软件包依赖关系
  yum reposiroty (yum源,其实就是文件服务器)支持三种指定方式
    1.ftp://
    2.http://
    3.file:///  本地方式
  yum客户端的配置文件由两部分组成
    1./etc/yum.conf (公共部分)
     [main]全局属性
     tolarant=1  安装多个软件包时,如果其中有已安装过的,此选项就表示忽略并继续安装未安装的软件包
    2./etc/yum.repos.d/*.repo (所有以.repo结尾的文件,如果自己创建时也应该遵从此规矩)
     [...]  yum源的识别段,除main不可写,其余均可写,唯一标识即可
     name=
     baseurl=ftp://;http://;file:/// 指定yum源在何处
     gpgcheck=            检查签名
                     0:不检查
                     1:检查
     enabled=            是否启用此yum源
                     0:不启用
                     1:代表启用
yum命令
   yum [options]  [command] 包
           list all 列出所有来自yum源的包,安装和未安装的
              installed 列出已安装的包
              avaiable  列出yum源中可安装的包
              update   列出可升级的包 需要配置升级yum源
             Attention:后面可加globbing通配 *?
    -y 交互命令  install       pac1 pac2 ..
    自动填写yes             不用指定路径自动检索yum源
           remove|erase     pac1 pac2 ..
                     删除时也一样自动解决依赖关系
           update       pac1 升级
           checkupdate     检查升级软件包
           info        pac1 ..
                     查询包详细信息,类似rpm -qi
           provides|whatprovides file1 ..
                     查询某个文件来自于哪个软件包
                     类似rpm -qf
           downgrade      pac1 pac2 ..
                     降级软件包
    -y自动填yes  reinstall      pac1 pac2 ..重新安装软件包
           repolist      显示启用的yum源
                 all     显示启用和禁用的yum源
                 enabled 显示启用的yum源 默认
                 dienabled 显示禁用的yum源
           clean    all     清除存放yum数据的缓存
           grouplist      显示所有install和available的包组
           groupinstall    "包组名"  安装包组
                     包组名中含有空格,一定要用“”括起
           groupremove     "包组名" 卸载包组
                     包组名中含有空格,一定要用“”括起
           groupinfo      显示某个包组的详细信息
           
           
           
           localinstall    完整路径(最后带文件名而非包名)
                     应用情况,从互联网上下载的包,yum源中无此包,但需要使用yum源来解决安装此包的依赖关系
                     此时系统自动检查包的签名,应对办法有两种
                     1.导入签名
                      rpm --import 签名路径
                             redhat官方签名在/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
                      rpm -K 完整路径(最后带文件名字,而非包名)
                     2.使用yum localinstall 的长选项 --nogpgcheck 来忽略签名检测
                  --nogpgchengeck
                 
                 
                 
           localupdate     通过本地rpm包升级软件包
           search       keyword
                     可以使用globbing(*?)方式在yum源查找rpm包
创建yum源(基于本地)
rpm包作者会定义依赖关系(dependences) 关于系统包的依赖关系默认存放在redhat安装文件Server|VT|Cluster|ClusterStorage
/repodata这个目录下,其中有5个文件
     primary.xml.gz 此yum源(Server|VT|Cluster|ClusterStorage)中包含RPM所有文件名和依赖关系,还有每隔RPM包中文件的名字
             Attention:如果不解压就想查看使用gzip压缩的文件 使用zcat来查看
     firstlists.xml.gz  此yum源中的每一个rpm包中的文件的文件相关信息
     other.xml.gz    额外信息,比如使用rpm -q --checklog 包名查看到的信息
     repomod.xml     以上三个文件的校验码(MD5)和时间戳(最近修改时间)
     comps-rhel5-server-core.xml
               软件包的分组信息
  基于本地的yum源两种创建办法
  1.在磁盘上的某个目录下,建立yum源(以Server为例)
    1.创建目录/tmp/dvd/Server
    2.将官方提供的Server目录中的以.rpm结尾的文件放入/tmp/dvd/Server中
     可以采用从网上下载,这里我采用的是光盘挂载
     1.mount /dev/dvd  /media/dvd 将光盘挂载到/media/dvd目录下(当然此目录应该事先存在)
     2.使用mount 查看是否挂载成功
     3.将/media/dvd/Server目录下以.rpm结尾的文件复制到/tmp/dvd/Server目录下
      cp /media/dvd/Server/*.rpm /tmp/dvd/Server/
     4.安装createrepo包 位置在官方提供的安装文件的Server目录下,下载或copy下来安装此包一般不存在依赖关系可直接使用rpm -ivh 安装
      rpm -ivh createrepo(使用TAB补全)
     5.使用createrepo在/tmp/dvd/Server/下创建repodata/目录(如没有分组,使用此项)
      createrepo /tmp/dvd/Server/
      Attention:一定要指向repodata的父目录所在位置
     6.此时repodata中没有comps-rhel5-server-core.xml文件,需要再使用  (如有分组,使用此项,或者后来添加分组,使用此项)
      createrepo -g /media/dvd/Server/repodata/comps-rhel5-server-core.xml(光盘上的comps-rhel5-server-core.xml所在位置)
      /tmp/dvd/Server/
      Attention;此时指向的也是所要创建的repodata的父目录
     7.编辑/etc/yum.repos.d/Server.repo 指向yum源
      vim /etc/yum.repos.d/Server.repo
      [base]
      name=Server
      baseurl=file:///tmp/dvd/Server
      gpgcheck=0
      enabled=1
     8.使用yum repolist 来检验是否出错
   2.直接将安装文件挂载至/media/dvd 而后指向即可
      1.mount /dev/dvd /media/dvd
      2.编辑/etc/yum.repos.d/Server.repo 指向yum源
        vim /etc/yum.repos.d/Server.repo
        [base]
        name=Server
        baseurl=file:///media/dvd/Server
        gpgcheck=0
        enabled=1
  此外createrepo命令还有其他选项可使用
   createrepo -q  在创建yum源 repodata/目录静默执行
         -V  Verbose 尽可能详细显示出信息