一、yum概念:


程序包管理器的前端工具:yum(Yellowdog Update Modifier)


yum:能自动解决依赖关系,这样解决了rpm包管理器的无法解决依赖关系的问题。


二、yum的repository(仓库):

   A、各rpm包

   B、依赖关系、程序包安装后所能生成文件列表等元数据文件。


三、yum客户端:

   1、通过配置文件,指定个可用的yum仓库。

   2、缓存数据,yum会到个可用的yum仓库中获取数据,并缓存到本地。


   如:[sohu_fedora_server]

    name=fedora server CentOS 6.4

    baseurl=http://mirrors.sohu.com/fedora-epel/6Server/x86_64/

    enabled=1

    gpgcheck=0

四、yum仓库配置:


   1、此配置文件有两段组成:

    (1)、[main]:主配置段,一般在/etc/yum.conf 

    (2)、[repo]:仓库配置段,一般在/etc/yum.repos.d/*.repo


   2、配置repo:

     [repo_ID]

    name=String

    baseurl=仓库的访问路径,配置yum仓库的方式有如下四种:

        ftp://server/path/to/repo

        http://server/path/to/repo

        nfs://server/nfs_path

        file:///path/to/repo

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

    gpgcheck={1|0}是否检查包来源合法性和完整性,默认启用

     gpgkey=公钥文件路径,当gpgcheck=1时有效;可以指定本地的key,也可以指定服务器路径

    cost=定义此仓库的开销,默认为1000,指定优先级,小的优先。

    如本地:

    [base_local]

    name=CentOS6.4  x86_64 release iso file

    baseurl=file:///media/mirros/,这个路径一定到repodata的上一级。

    enabled=1

    gpgcheck=1

    gpgkey=file:///media/mirros/RPM-GPG-KEY-CentOS-6


    注意另外再配置如下两个fedora的yum源,CentOS所需要的rpm包均可找到。

    [sohu_fedora_server]

    name=fedora server CentOS 6.4

    baseurl=http://mirrors.sohu.com/fedora-epel/6Server/x86_64/

    enabled=1

    gpgcheck=0


    [sohu_fedora_client]

    name=fedora client CentOS 6.4

    baseurl=http://mirrors.sohu.com/fedora-epel/6/x86_64/

    enabled=1

    gpgcheck=0


五、yum [options] COMMAND:


1、options:

-y:直接执行,无需确认。#yum -y install zsh,直接安装zsh包


2、COMMAND:


(1)、install package_name...:安装指定的程序包。


(2)、erase package_name:卸载指定的包,注意会卸载依赖此包的包。


(3)、repolist [all|enabled|disabled]:默认显示所有可用配置的yum repo

            即在/etc/yum.repos.d/*.repo中配置的


(4)、clean [all|packages|metadata|expire-cache|rpmdb|plugins]:清空缓存的数据。


(5)、list 

            [all 所有,默认为all;

            installed已安装;

            available可安装 ]:显示所有rpm包

            

(6)、info package_name:显示rpm包的信息。如#rpm info zsh


(7)、reinstall package_name...:重新安装指定的包。


(8)、check-update:检查可升级的包。


(9)、update package_name...:升级指定的程序包。


        注意:现在的版本为x-1.2.1,但是以后的版本x-1.2.2和x-1.2.3,只想更新到x-1.2.2怎么处理?

                  要升级到指定版本 #yum update x-1.2.2


(10)、downgrade package_name:降级。


(11)、provides /path/to/some_file:查询某文件是哪个安装包生成的.

     如:#yum provides /etc/passwd


(12)、grouplist:列出所有的包组。


(13)、groupinfo "package_group_name":显示包组信息。


              备注:与开发相关的包组:


              CentOS 5:

                Delelopment Tools

                Development Libraries

              CentOS 6:

                Desktop Platform Development:有图形程序时,需安装此组。

                Server Platform Development

                Development Tools


(14)、groupinstall "group_name":安装指定的包组。

    如:#yum -y groupinstall "Desktop Platform Development"


(15)、groupremove "group_name":卸载指定的包组。

   如:#yum groupremove "Desktop Platform Development"


(16)、yum安装本地rpm包:

  #yum  install /tmp/zsh-2.3.1-2-el6.x86_64.rpm 

  如要手动禁止检查来源合法性以及包完整性:--nogpgcheck

  #yum --nogpgcheck install /tmp/zsh-2.3.1-2-el6.x86_64.rpm 


六、#uname -a:

  查看当前系统版本的所有信息。