linux yum包管理工具

yum 构成简介

C/S架构:Client --> Server
         yum仓库

            base库:通常为系统发行版所提供的程序包
            updates库:
            extra库:
            epel库:


                  数据:
                      各个rpm包;
                  元数据:
                      数据文件
                          包名、版本信息、各包所包含的文件列表、依赖关系、包分组信息

                          centos5: xml, centos6,7: sqlite

                          createrepo: 制作yum仓库元数据的工具

              yum客户端:

               指供repo配置文件,指明仓库访问路径及各种属性信息


               主配置文件(中心配置文件):/etc/yum.conf
               一个或几个相关仓库的配置信息可保存为一个文件,文件名都以.repo结尾:/etc/yum.repos.d/


               在.repo文件定义一个yum repo指向的格式:
                  [REPOID]
                  name=Some name for this repository
                  baseurl=file:///media/cdrom
                  ftp://172.16.0.1/pub/ftp/centos


                  Must be a URL to the directory where the yum repository's 'repodata' directory lives
                  enabled={0|1}
                  gpgcheck={0|1}
                  gpgkey=URL


                  mirrorlist=URL to a file
                  mirrorlist Specifies a URL to a file containing a list of baseurls


                  cost={1..n}
                  默认为1000,指定访问此仓库的开销

         安装程序包
                     第一步:获取仓库元数据,缓存于本地:/var/cache/yum

                     第二步:安装程序包:yum客户端程序在本地分析元数据文件,并结合本地系统环境(已安装的包)做出要安装的程序包的决策

                     第三步:获取程序包: 根据决策联系Yum仓库,下载各程序包缓存于本地后,一并进行安装;

yum客户端命令的使用

1、列出所有可用repo
                yum repolist {enabled|disabled|all}

            2、列出rpm包
                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

                    x-1.3.1
                    x-1.3.2, x-1.3.3, x-2.0.1

                    yum update x-1.3.2

                yum downgrade 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"

            

          假设:从其它处获得一个rpm包,如果此包依赖于其它包(在仓库中),如何安装?
            如果仅是单次安装需要: yum install /path/to/packe_file

自建yum仓库

自建提供yum仓库的中心服务器 ftp, http, nfs

            http为例,创建步骤:
                (1) 安装httpd程序,并启动服务
                    # rpm -ivh httpd-
                    或者
                    # yum install httpd

                    启动服务
                    # service httpd start
                    # chkconfig httpd on

                (2) httpd的文档根目录为/var/www/html:
                    创建子目录,存放某相关的所有rpm包
                
                (3) 为仓库生成元数据文件,以使能够作为仓库使用
                    # rpm -ivh createrepo-
                    或者
                    # yum install createrepo    

                    # createrepo /path/to/rpm_repo/    

                (4) 配置yum客户端使用此仓库即可

 

posted @ 2019-01-30 19:14  Coolc  阅读(1025)  评论(0编辑  收藏  举报