Linux中yum的用法

1.相关概念

   1. yum全名即(yellowdog update modifier ), yum可以自行解决依赖关系 ,什么事依赖关系?比如说安装A软件过程中,需要安装B或者c软件,A软件才能安装成功,这时我们就称A与B、c有依赖关系,而yum就自动可以解决这种依赖关系,极大的方便了终端用户。

   2. 文件服务的服务器有: ftp服务 , http服务 ,本地文件目录 ,  NFS服务 。

      ftp服务:ftp://SERVER/PATH/TO/REPOSITORY,

     http服务:http://SERVER/PATH/TO/REPOSITORY,

     本地目录: file:///PATH/TO/REPOSTIROY     3. yum相对应于rpm来说, yum则是rpm的前端工具 ,rpm为基础包管理器 属于后端工具;另一方面yum仓库指向的路径为:repodata目录所在的父目录 



 

2.yum命令行工具 以及相关命令

     1.yum命令行工具 
             1.yum配置文件:主要指向仓库的位置以及相关的各种配置信息;每个yum命令行可以同时指向多个仓库,仓库间可以优先级等相关的配置;

           2.yum配置文件有两部分组成:
                1.主配置文件:/etc/yum.conf,为各仓库指向提供公共配置文件; 
                     
                2.各仓库的定义:/etc/yum.repos.d/*.repo
                      directive=VALUE
                     [main]:提供公共配置信息
                         【注意: 文件以.repo结尾;每个repo配置文件中可以配置一至多个仓库;】 


           3.各仓库配置

          [repositoryid]      # 对于当前系统的yum来讲,此repositoryid用于惟一标识此repository指向,因此,其必须惟一;

               

          name=***       # 当前仓库描述信息;

              

          baseurl=url://path/to/repository/      # 指明repository的访问路径;通常为一个文件服务器上输出的某repository;

      

          enabled={1|0}     #   此仓库是否可被使用

             

          gpgcheck={1|0}     # 是否对程序包做校验

               

          gpgkey=url://path/to/keyfile     #指明gpgkey文件路径;

                

          cost=#     # 指明当前repository的访问开销,默认为1000;

               


          
      2.yum命令:
           #yum [options] [command] [package ...]

               选项管理:


    • 仓库管理:

         #yum repolist: 列出已经配置的所有可用仓库( repolist [all|enabled|disabled]   )
              


    • 缓存管理:

          #yum clean:清理缓存
              clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
          #yum makecache: 缓存创建
              自动连接至每一个可用仓库,下载其无数据,将其创建为缓存;


    • 程序包查看:

          #yum list [all | glob_exp1] [glob_exp2] [...]

          #yum list {available|updates|installed|extras|obsoletes} [glob_exp1] [...]

          #grouplist [hidden] [groupwildcard] [...]


    • 程序包安装:

          #yum install package1 [package2] [...]

          【注意: 只需要提供包名;】

         如果某包有在不同仓库中有多个不同版本,默认会安装最新版本;如果要安装指定版本:install PACKAGE-VERSION ...


    • 重新安装(覆盖安装)

          #yum reinstall package1 [package2] [...]


    • 程序包升级:

          #yum update [package1] [package2] [...]


    • 程序包降级:

          #yum downgrade package1 [package2] [...]


    • 检查有哪些升级可用:

          #yum check-update


    • 卸载:

          #yum remove | erase package1 [package2] [...]

         所有依赖于正卸载的程序包的程序包会被一并卸载;


    • 查询:

         查询程序的相关简要信息:#yum info PACKAGE ...

         在包名和sumary信息中搜索指定的关键字:#yum search KEYWORD ...

         查询指定文件由哪个程序包安装生成:#yum provides|whatprovides /PATH/TO/SOMEFILE


    • 安装或升级本地的程序包文件:

          #yum localinstall rpmfile1 [rpmfile2] [...]

         用于安装仓库中并不存在的程序包文件,这些程序包有可能又依赖于仓库中的某些程序包;

          #yum localupdate rpmfile1 [rpmfile2] [...]


    • 包组管理:

         列出所有包组:#yum grouplist
         显示指定包组详情:#yum groupinfo group1 [...]

         安装:#yum groupinstall group1 [group2] [...]

         卸载:#yum groupremove group1 [group2] [...]

         升级:#yum groupupdate group1 [group2] [...]

          【注意: 可直接用install、remove或update来管理包组:
              @GROUP_NAME】

               #yum install @"Server Platform Development"


    • yum命令的可用选项:

         -y: 自动回答为“yes”
         --disablerepo=: 临时禁用在配置文件中配置并启用的某repository;
         --enablerepo=:临时启用指定的某repo;
         --nogpgcheck: 禁止做包校验;

  



     3.yum有内置变量,用于保存当前平台的相信息
         (1) $raleasever: 当前OS发行版的主版本号;
              例如,对CentOS 6.6 x86_64,主版本号为6;
         (2) $arch:平台
              i386, i486
         (3) $basearch: 基础平台, 例如i686, i586, i486以及i386的基础平台同为i386;
         (4) $YUM0-$YUM9

         假如:
              baseurl=http://repo.magedu.com/centos/$releasever/$basearch
              当前系统为CentOS 6.6 x86_64
                  
     4.如何使用发行版光盘作为yum repository
         (1) 挂载光盘到指定挂载点,如/media/cdrom
         (2) 新建yum repo配置文件,类似如下所示:

          [dvdbase]

          name=CentOS 6.6 X86_64 on dvd1

          baseurl=file:///media/cdrom

          gpgcheck=0

          enabled=1       



     5.自己创建yum仓库
         (1) 在基于发行版安装树安装createrepo程序包;
         (2) 确定repository输出方式:
              本地输出:提供一个放置rpm包的本地路径;
              网络输出:提供一个文件服务器,配置好ftp服务或http服务;
                   ftp服务:
                        安装程序包: vsftpd
                        文件存放路径:/var/ftp/pub
                        启动服务:service vsftpd start
                   http服务:
                        安装程序包:httpd
                        文件存放路径:/var/www/html
                        启动服务:service httpd start

               【注意: 确保防火墙服务关闭;】

         (3) 在准备好的目录中放置rpm程序包文件
         (4) 对此目录运行createrepo命令即可

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。