1、简介

        YUM:yellowdog Update Modifier,rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,up2date的替代工具。

         yum的基本工作组件需要依赖于yum仓库:yum repository (yum repo)

         存储了众多rpm包,以及包的相关元数据文件(放置于特定目录下:repodata);

2、yum客户端配置文件

           /etc/yum.conf:为所有仓库提供公共配置

           /etc/yum.repos.d/*.repo:为仓库的指向提供配置

   仓库指向的定义:

            [repositoryId]

            name=Some name for this repository

            baseurl=url://path/to/repository

            enabled={1|0} 默认为1

            gpgcheck={1|0}默认1

            gpgkey=URL

            enablegroups={1|0}

            failovermethod={roundrobin|priority}  默认为roundrobin,意为随机挑选

            cost=   默认1000

     例:                       

Linux下yum的基本使用_Linux


3、yum仓库(yum repo)

        一般来讲,仓库是文件服务器,可以通过以下方提供服务:

              ftp://

        http://

        nfs://

              file:///

         

        创建yum仓库:createrepo [options] <directory>

  

4、yum相关命令使用

               yum [options] [command] [pckage...]

               yum-config-manager --add-repo=file:///misc/cd 生成仓库文件misc_cd.repo

               yum-config-manager --disable "misc_cd" 禁用仓库

               yum-config-manager --enable "misc_cd" 启用仓库

               

                yum repolist [all | enabled | disabled] 显示仓库列表

                yum list  显示程序包

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

                        #yum list {avaliable | installed | updates} [glob_exp1][...]

      安装程序包:

                yum install package1 [package2] [...]

                yum reinstall packge1 [package2] [...] 重新安装

      升级程序包:

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

                yum downgrade package1 [package2][...] 降级

      检查可用升级:

                 check-update

      卸载程序包:

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

      查看程序包information:

                 info [...]

      查看指定特性(可以是某文件)是由哪个程序包所提供

                 provides | whatprovides feature1 [feature2] [...]

      清理本地缓存:

                 yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

      构建缓存:

                 yum makecache

    搜索: 

                 search string1 [string2] [...] 以指定关键字搜索程序包及summary信息;

      查看指定包所依赖的capabilities:

                  yum deplist package1 [package2] [...]

      查看yum事物历史:

                  yum history  [info | list | packages-list | packages-info | summary | addon-info | redo | undo | rollback | new | sync | stats]

                  yum history

                  yum history info 6   查看历史记录6的详细信息

                  yum history undo 6  撤销历史记录6的操作

       安装及升级本地程序包:

                  localinstall rpmfile1 [rpmfile2][...]

                  localupdate rpmfile1 [rpmfile2][...]   

              注:为了兼容存在的命令,6.0之后直接使用install,update

        包组管理相关命令:

                  groupinstal group1 [group2][...]

                  groupupdate group1 [group2][...]

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

                  groupremove group1 [group2][...]

                  groupinfo group1 [...]

        

         yum的命令行选项:

                   --nogpgcheck: 禁止进行gpg check

                   -y: 自动回答为“yes”

                   -q: 静默模式

                   --disablerepo=repoidglob: 临时禁用此处指定的repo

                   --enablerepo=repoidglob: 临时启用此处指定的repo

                   --noplugins: 禁用所有插件

       日志文件:/var/log/yum.log


5、实例:使用光盘当做本地yum仓库(CentOS6.7系统)

        注:因为光盘目录下默认存在repodata,所以不用手动创建yum库,如果使用本地目录,则应该使用 createrepo [options] <directory> 命令创建。

     ①挂载光盘至某目录

      #mount /dev/cdrom /media/cdrom

      Linux下yum的基本使用_yum_02

     ②创建配置文件

      #vim /etc/yum.repo.d/CentOS6.repo

        [CentOS6]

        name=CentOS6-yum

        baseurl=file:///media/cdrom

     gpgcheck=0

        enabled=1

       Linux下yum的基本使用_Linux_03

    ③使用yum repolist 查看是否创建成功

     #yum repolist

      Linux下yum的基本使用_Linux_04

    ④测试:使用yum安装tree程序

        #yum -y install tree

     

Linux下yum的基本使用_Linux_05

Linux下yum的基本使用_Linux_06