马哥Linux学习之YUM配置

    学习到第11天了,系统相关的软件配置使用rpm包或源码配置都会遇到各种依赖问题,YUM就是Red Hat出的软件包管理工具,能有效的自动解决软件包的依赖问题。


    YUM(Yellowdog Update Modifier):把各种程序依赖关系都集成收集,并在安装软件时自动解决的工具。这个工具是使用C/S架构的,从而分为了服务器端(yum仓库)和客户端。

        

    YUM仓库相关。   

    yum仓库,主要由数据和元数据组成。数据就是各种各样的软件包,而元数据就是包名、版本信息、各包所包含的文件列表、依赖关系、包分组信息等。

     

    yum仓库分可为几种类型:

        base库:基本为系统发行版提供的软件库

        update库:更新软件库

        extra库:额外软件包库

        epel库:Extra Packages for Enterprise,社区全力打造的免费开源发行软件包版本库,                   系统包含大概有1万多个软件包。


    yum仓库提供软件包的位置信息,而在Linux系统中,这样的也就表现为常见的http服务器、ftp服务器及本地文件系统目录挂载光盘三种常见的方法。

    下面就实验一下创建http类型和本地的Yum仓库吧。

    先说http类型的,分为以下步骤:

    1、先安装上createrepo哈,要不没法制作yum仓库。

    2、我们再在提供仓库的机器上安装上apache并开启,使用默认的配置以/var/www/html为访问目录吧。然后我在这个目录下新建了一个rpms的目录,并在rpms下面放了164个包(好少,但是只是为了学习哈)。

    3、在/var/www/html目录下,使用createrepo命令,等待一会,yum仓库的元数据就生成好了。嗯,这个元数据,在CentOS 5下是使用xml来组织的,而在CentOS 6的版本下使用splite这种微型数据库了哈。

    4、接下来,我们就配置客户端的yum配置文件了哈,如下图:

技术分享

技术分享

    嗯,第一个图是先把CentOS默认安装的yum源去掉哈。

    第二图是这个http类型的Yum源的配置文件。下面说一下相应的字段的作用和配置:

    • repositoryid (中括号那行): 用于指定一个仓库

    • name: 用于指定易读的仓库名称

    • baseurl : 用于指定本仓库的URL,可以是如下的几种类型:

      • http — 用于指定远程 HTTP 协议的源

      • ftp — 用于指定远程 FTP 协议的源

      • file — 用于本地镜像或 NFS 挂装文件系统

      • mirrorlist : 用于指定仓库的镜像站点

    • enabled : 用于指定是否使用本仓库,默认值为1,即可用

    • gpgcheck : 用于指定是否检查软件包的 GPG 签名

    • gpgkey : 用于指定GPG签名文件的URL,记住同样是URL哈。 


    配置完了,使用yum repolist这条命令可以查看可以使用的yum源哈。如图:

技术分享    看样子是成功了哈,下面接着再接再励配置一下本地的yum源,因为本地yum源一般都是挂载光盘或ISO镜像(等同于光盘)的哈,所以也就直接以这个为目标了。

    一般来说,光盘或ISO镜像上,都是生成好了相应的元数据的,也就少了createrepo这一步了哈。直接配置Yum的本地源。

    技术分享    大家看到了,和http类型不同的地方是baseurl那儿了吧。直接以repodate目录上一个目录为准哦。我的ISO是挂载到/mnt目录下的,不太标准哈,大家不要学。接着再看看yum repolist:

技术分享    哈哈,多了标识为CentOS6-Localtest的源了,有6367个包。


    YUM工具的常见使用命令。


    1、列出所有可用的repo

        yum repolist {enabled|disabled|all}

    2、列出所有可安装的软件包:

        yum list {all | installed | available}

        yum list KEYWORD*

    3、包的描述信息

        yum info package_name

    4、列出所有的包组信息

        yum grouplist

    5、显示包组的信息:

        yum groupinfo "GROUP NAME"

        下面四个是常用的包组哈:

            CentOS6 跟开发相关的包组:

            Development Tools

            Server Platform Development

            Desktop Platform Development

    6、清理缓存

        yum clean {all|packages|metadata|expire-cache|rpmdb|plugins}

    7、安装程序包

        yum install package_name

        重新安装:yum reinstall package_name

    8、升级程序包

        yum check-update命令可检查是否有可用的升级包

        yum update package_name

    9、卸载

        yum remove|erase package_name

    10、查询某文件是由哪个包安装生成的

        yum whatprovides|provides /path/to/somefile

    11、安装包组

        yum groupinstall "GROUP NAME"

    12、卸载包组

        yum groupremove "GROUP NAME"

    

    语言不好,我会改进的,晚安╰(*′︶`*)╯

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。