首页 > 代码库 > Linux软件包管理03-YUM

Linux软件包管理03-YUM

一、YUM定义

    1、介绍:Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。每一个rpm包依赖于其它的哪些capacity,是rpm包的制作者定义的;

    2、repository(仓库):yum源,包含rpm包集合、xml文档等等;    

    3、RedHat5光盘中的仓库:

        Server:常用软件

        repodata:yum源

        Cluster:和集群相关的

        ClusterStorage:和集群存储相关的

        VT:虚拟化技术相关

二、YUM源

    1、yum安装获取数据的方法:

        a)yum仓库在本地某目录:

            file:///

        b)yum仓库在远程服务器

            ftp服务器:

                ftp://192.168.0.254/pub/Server

        ftp://USERNAME:PASSWORD@192.168.0.254/pub/Server

    http://

    2、yum仓库文件说明:

        a)repodata/:只有包含此目录为其子目录的那个路径才可以用作yum源;

        b)repomd.xml:文件保存时间戳,可用户判断当前yum仓库中的文件是否发生变化;

        c)primary.xm.gz:当前yum仓库内每一个rpm包的名字及其彼此之间的依赖关系;此外还包含每一个rpm能够安装生成的文件;

        d)filelists.xml.gz:所有rpm包包含的安装生成的文件的文件列表;

        e)other.xml.gz:额外信息,主要包含的是rpm包的changelog;

        f)comps-rhel5-server-core.xml:rpm包包组的定义,光盘中存在;

    3、yum配置文件:

        /etc/yum.conf 全局配置文件

        /etc/yum.repos.d/*.repo 

        /etc/yum/pluginconf.d/ yum插件的配置文件

    4、yum配置文件:分为两段

        a)全局配置文件:默认/etc/yum.conf

    cachedir 缓存目录路径

    keepcache 保存缓存

    debuglevel 调试级别

    logfile 日志文件

    distroverpkg 验证rpm发行版时使用的哪个文件

    tolerant 等于1表示已经安装的rpm包再次安装时就忽略安装,等于0表示已经安装的rpm再次安装时就会报错

    exactarch 平台的精确匹配,等于1表示必须要做平台的精确匹配

    obsoletes 是否支持检查废弃的包,等于1表示必须检查

    gpgcheck 是否检查rpm的来源信息,验证rpm的签名

    plugins 是否或启用支持插件

            bugtracker_url  有缺陷的yum源的追踪位置

    metadata_expire 表示源数据在本地缓存时间

        b)分段配置

    [repo]

    name=Primary Yum repostitory $releasever $表示yum宏或者yum变量

    baseurl=ftp://192.168.0.254/pub/Server yum源路径

    enable={0|1} 0表示禁用源,1表示启用

    gpgcheck={0|1} 是否检查rpm的来源信息,验证rpm的签名

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  验证rpm的签名文件

            mirroelist= 包镜像位置

    5、yum源配置实例:

        将如下路径配置为yum仓库:

        pub/Server

        pub/Cluster

参考答案:vim /etc/yum.repos.d/my.repo

[Server]

name=RHEL5.8 Server

baseurl=ftp://172.16.0.1/pub/Server

enable=1

gpgcheck=0

[Cluster]

name=RHEL5.8 Cluster

baseurl=ftp://172.16.0.1/pub/Cluster

enable=1

gpgcheck=0

三、yum管理命令

    1、yum常用查询命令:

        a)yum list all 列出当前系统上所有的rpm包,包括已安装的和未安装的;

        b)yum repolist 显示当前系统上所有可用的yum源的相关信息;

        c)yum list installed 已安装的rpm

        d)yum list avaliable 可以安装但未安装的rpm

        e)yum list updates  可以用于升级的rpm包

        f)yum grouplist 显示列出包组信息

        g)yum groupinfo "group name"

        h)yum info PKG_NAME 显示一个包的相关信息

        i)yum provides FILE 文件是由那个包安装的

    2、yum安装命令:

        a)yum install PKG_NAME 安装过程自动解决依赖包或能力关系

        b)yum groupinstall "GROUP_NAME" 安装包组

        c)yum reinstall PKG_NAME 重新安装

        d)localinstall 本地的包如果internet上有依赖会自动下载安装

    3、yum卸载命令:

        a)yum remove PKG_NAME 把所有相关依赖包一并卸载

        b)yum groupremove "GROUP_NAME" 卸载包组

    4、yum清理命令:

        yum clean {all|packages|metadata} 清除/var/cache/yum中的缓存(缓存:元数据、rpm包)

    5、yum升级命令:

        a)yum update PKG_NAME 

        b)check-update 检查有哪些可升级的包

    6、yum搜索命令:

        yum search KEYWORD

    7、yum命令的选项:

        -y 自动回答为yes

        --nogpgcheck 不检查签名信息

        -g FILE:指定包组定义文件

四、制作本地yum源

    1、yum install createrepo

    2、在某路径下准备包

    3、createrepo /PATH/ 会自动生成repodata文件

如:vim myum.repo

[local]

name=local/var/myum

baseurl=file:///var/myum

enable=1

gpgcheck=0 

    yum repolist

    yum install nginx

本文出自 “Nick Liu的博文” 博客,请务必保留此出处http://zkhylt.blog.51cto.com/3638719/1426608