yum:全称为Yellowdog Update Modifier,是rpm包管理器的前端工具,能够从指定的yum源下载并安装rpm包,并且能够自动处理包的依赖关系并安装所有依赖的软件包。不用依次下载安装所依赖的软件包,从而提高工作效率。

  yum repository,即yum仓库。储存了众多的rpm包,以及包相关的元数据文件。放置于特定目录下,它可以在远程的一个服务器上,也可以是本地的光盘镜像,也可以自己创建yum库。但需要创建仓库指向,指向仓库所在的路径。

  yum客户端的配置文件:  

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

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

  仓库指向的定义:

    [repositoryID]仓库名

    name=Some name for this repository 仓库名;

    baseurl=url://path/to/repository/ 仓库访问路径;注意:“=”左右无空格,可指多个。

    enabled={1|0} 是否启用仓库,默认为启用;

    gpgcheck={1|0} 启用前是否检测完整信息合法性;

    gpgkey=URL 秘钥文件路径;

    enablegroups={1|0} 是否允许在仓库上使用组批量管理rpm包;

    failovermethod={roundrobin|priority} 故障管理方法;

 默认为:roundrobin,意为随机挑选(轮询);

    cost=#:各路径开销;

 默认为1000

  yum的repo配置文件中可用的变量:

    $releasever: 当前OS的发行版的主版本号;

    $arch: 平台;

    $basearch:基础平台;

    $YUM0-$YUM9:用户可自定义的变更;   

  例如:使用光盘镜像当作本地yum仓库:

    (1)挂载光盘至某目录:此处挂载至/media/cdrom目录下

wKioL1bz3jewpuuFAAAS5EmvjGo898.png

    (2)创建配置文件:

wKiom1bz35vzx5XlAAAXJu9EUM8064.png

  下面我们开始介绍yum命令的使用方法:

    格式:yum [options] [command] [package ...]

    常用选项:

     --nogpgcheck:禁止进行gpgcheck;

     -y: 自动回答为“yes”;

     -q:静默模式;

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

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

     --noplugins:禁用所有插件;

    命令选项:

      显示仓库列表:

       repolist [all|enabled|disabled] 

         all:所有的;

         enabled:启用的;默认为显示启用的;

         disabled:没启用的;

wKiom1bz4THCFU3GAAAywv_WrcI380.png

       可以查看到,刚才创建的local仓库为启用状态;

     显示程序包:

       list:

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

          all:显示所有程序包;默认显示所有程序包;

          glob_exp1:显示符合glob风格通配符的程序包;

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

          available:可用未安装的程序包;

          installed:已安装的程序包;

          updates:可用升级的程序包;

     安装程序包:

       install package1 [package2] [...]

       reinstall package1 [package2] [...]  (重新安装)

       例如:安装tree程序包:

wKiom1bz5FiycLvMAABRjhheGNM784.png

       选“y”确定安装:

wKioL1bz5TDyXC4iAAAvvyXMl04109.png

     升级程序包:

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

       downgrade package1 [package2] [...] (降级)

       例如:在CentOS 6.7 系统上升级zsh

wKioL1bz5mLBiPM2AABjWmQt3LE127.png

       选“y”确定升级;

wKiom1bz5jDwvQ7PAABIDcxkg1U510.png

     检查可升级的包:

       check-update

wKioL1bz6DTDqBL_AABsDmJyeVw297.png

     卸载程序包:

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

       例如:卸载刚安装的tree程序包:

wKioL1bz6NDRF2UiAABCrvWTJkk619.png

       选:“y”确定卸载;

wKiom1bz6HjjrHTeAAAvQDx2sm0911.png

     查看程序包information:

       info [...]

       例如:查看zsh程序包信息:

wKioL1bz6dDTkdvWAABdlalTPFo331.png

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

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

       例如:查看/bin/sed文件是由哪个程序包提供:

wKiom1bz6hjTs03vAAA_RuoQuVc981.png

     清理本地缓存:

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

        packages:程序包

        metadata:元数据

        expire-cache:过期缓存

        rpmdb:rpmdb缓存

         plugins:插件

        all:所有

       例如:清除过期缓存

wKioL1bz69HTr3ApAAAR3FdLgTQ708.png

     构建缓存:

       makecache

wKiom1bz67zTdIwIAABn60EeLSI534.png

     搜索:

       search string1 [string2] [...]

      以指定的关键字搜索程序包名及summary信息;

       例如:搜索bash相关程序包

wKioL1bz7dqAJkkuAACAmocDPbM723.png

     查看指定包所依赖的capabilities:

       deplist package1 [package2] [...]

       例如:查看bash所依赖的capabilities:

wKiom1bz7bHxat2DAAB0VVNEHsc273.png

     查看yum事务历史:

       history [info|list|packages-list|packages-info|summary|

           addon-info|redo|undo|rollback|new|sync|stats]

wKiom1bz7oqQEwbzAABLDomqLzY557.png

     安装及升级本地程序包:

       * localinstall rpmfile1 [rpmfile2] [...]

          (maintained for legacy reasons only - use install)

       * localupdate rpmfile1 [rpmfile2] [...]

          (maintained for legacy reasons only - use update)

       CentOS 5 之前用,6以后可直接用install命令;

     包组管理的相关命令:

       * groupinstall group1 [group2] [...]安装包组

       * groupupdate group1 [group2] [...]升级包组

       * grouplist [hidden] [groupwildcard] [...]包组列表

       * groupremove group1 [group2] [...]删除包组

       * groupinfo group1 [...]查看包组信息

       例如:查看包组列表:

wKioL1bz8AzCNO3DAABHHfbPAt0001.png

  现在yum命令的用法已经介绍完了,那么我们再来一起看一直如何利用createrepo命令创建一个本地yum仓库:

    (1)创建目录,并将光盘镜像中所有rpm程序包复制到此目录下,此处在根目录下创建/yum/repo;

wKiom1bz-2CDQ7i_AAALynY9FiY655.png

    (2)安装createrepo命令;

wKiom1bz_Bzx7RmSAAB1oF_-cKY996.png

    (3)运行createrepo命令;

     格式:createrepo [options]

wKioL1bz__jAuez2AACx9J5k4zo944.png

     (4)创建repo配置文件:

wKiom1b0AP7S9z4aAAAZHvXhciU982.png

     由于之前创建过本地光盘镜像yum仓库,可在后面加一条指向路径即可。

     至此本地yum仓库创建完成,仅本地可用。