程序包管理之yum

yum命令参数使用详解


一、yum的简介

  yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke 开发团队进行改进,遂有此名。yum 的宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关信息,检查依赖性并自动提示用户解决。yum 的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http 或ftp 站点,也可以是本地软件池,但必须包含rpm 的header,header 包括了rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header 并加以分析,才能自动化地完成余下的任务。

  yum的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux 用户一直头痛的dependencies 的问题。这一点上,yum 和apt 相同。apt 原为debian 的deb 类型软件管理所使用,但是现在也能用到RedHat 门下的rpm 了。

  yum主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题。

  yum可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题,保持与RPM 数据库的一致性

二、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}是否在此仓库上支持使用组,来批量管理程序包

failovermethod={roundrobin|priority按顺序}

默认为:roundrobin,意为随机挑选;

cost=     开销

默认为1000

教室里的yum源:http://172.16.0.1/cobbler/ks_mirror/CentOS-6.6-x86_64/

CentOS 6.7 X84_64 epel: http://172.16.0.1/fedora-epel/6/x86_64/

三、yum命令的用法:

    显示程序包:

    list

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

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

图示:


    安装程序包:

    install package1 [package2] [...]

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

wKioL1Z6QeTBboYiAAAgqmkHLm0026.png

    升级程序包:

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

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

    检查可用升级:

    check-update

wKioL1Z6Qj6j74F1AAAJjvZ3iiA711.png

    卸载程序包:

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

wKiom1Z6Qm2xM_dmAAAbkI8OPpk308.png

    查看程序包information:

    info [...]

wKioL1Z6QrDT4ggDAAAmZd2WWl4090.png

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

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

    清理本地缓存:

     clean [ packages | metadata 元数据| expire-cache过期数据 | rpmdb | plugins | all ]

    构建缓存:

    makecache

    搜索:

    search string1 [string2] [...]

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

    查看指定包所依赖的capabilities:

    deplist package1 [package2] [...]

    查看yum事务历史:

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

wKioL1Z6QvuCNc9SAAAXv-vDbbQ005.png

    安装及升级本地程序包:

  * localinstall rpmfile1 [rpmfile2] [...]

           (maintained for legacy reasons only - use install)

        * localupdate rpmfile1 [rpmfile2] [...]

           (maintained for legacy reasons only - use update)

    包组管理的相关命令:

        * groupinstall group1 [group2] [...]

        * groupupdate group1 [group2] [...]

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

        * groupremove group1 [group2] [...]

        * groupinfo group1 [...]

    如何使用光盘当作本地yum仓库:

    (1) 挂载光盘至某目录,例如/media/cdrom

    # mount -r -t iso9660 /dev/cdrom /media/cdrom

    (2) 创建配置文件

    [CentOS 6]

   wKioL1Z6P-iBbeUNAAARTusXYlo314.png

    yum的命令行选项:

    --nogpgcheck:禁止进行gpg check;

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

    -q:静默模式;

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

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

    --noplugins:禁用所有插件;

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

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

    $arch: 平台;

    $basearch:基础平台;

    $YUM0-$YUM9

    http://mirrors.magedu.com/centos/$releasever/$basearch/os

四、创建yum仓库:

    createrepo [options] <directory>

  1、创建本地repo目录

   [root@localhost]#mkdir -p /yum/repo

  2、到远程服务器下载rpm到本地

wKiom1Z6pFnRN0JiAAAMVKviSZs686.png  3、执行createrepo命令,创建repodata

wKiom1Z6pjXA2cmkAAAOLXmdpJk932.png

 4、yum源创建完成

wKiom1Z6pvCT6AD2AAAeCGaK7QY309.png

 5、配置本地yum源

wKioL1Z6qHDiWlfRAAAQQexrm7s388.pngwKiom1Z6qN_ymJh9AAAULPwlXzs329.png

你可能感兴趣的:(yum)