设为首页 收藏本站
查看: 365|回复: 0

[经验分享] CentOS系统之yum使用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-13 08:30:53 | 显示全部楼层 |阅读模式
一、概述

        Yum (全称为:Yellow dog Updater, Modified),是一个基于RPM 包管理的字符前端软件包管理器。能够从指定的服务器自动下载 RPM 包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。被Yellow Dog Linux本身,以及Fedora、Red Hat Enterprise Linux采用。

二、Yum结构
        Yum遵循C/S架构设计,server端是基于ftp、http、nfs等协议的文件服务器,提供软件仓库,客户端连接服务器获取RPM包并处理依赖关系后安装。
1. server端,提供yum仓库
    yum仓库包含:

            (1). 数据:各个rpm包
            (2). 元数据:是简要的关系型数据库,标明包名、版本信息、各包所包含的文件列表、依赖关系、包分组信息                                     元数据位于repodata目录下,在CentOS 5上以xml类型文件存在,在CentOS 6上主要以sqlite类                                   型文件存在。
2.客户端安装软件包策略
            第一步: 获取仓库元数据。第一次获取元数据后缓存于本地:/var/cache/yum目录下,之后再访问服务器就
                           直接使用本地元数据。
            第二步: 分析元数据,做出安装决策。yum客户端程序在本地分析元数据文件,并结合本地系统环境(查看已
                           安装包,已安装的包不会安装)做出要安装的程序包的决策。
            第二步: 获取程序包。根据决策联系Yum仓库,下载各程序包缓存于本地后,一并进行安装。


三、yum机制
    仓库的类别:

        base库:基本库,提供的通常为系统发行版所提供的程序包
                updates库:提供的是制作一个新的发行版之前所有更新的程序包
                extra库:提供的是base库中不存在的额外的程序包

                epel库:fedora epel提供的程序包

             注:对于客户端来说,仓库是使用有优先级,例如对于base库和updates库,一般先使用update库。另外,可                    以指定仓库的启用或否。
1. 首先应确保有可有的yum 仓库:
        yum的server端是rpm包的基于ftp、http、nfs等协议的文件服务器,server端的repodata目录所在父目录就是一        个可用仓库。
2. yum客户端提供repo配置文件,指明仓库访问路径及各种属性信息
        配置文件分为主配置文件和repo文件:

                (1). 主配置文件:中心配置文件,文件名位于:/etc/yum.conf
                (2). repo配置文件:一个或几个相关仓库的配置信息可保存为一个文件,文件名都以.repo结尾,保                                     存在/etc/yum.repos.d/目录下。
                yum.conf中的各条目解释:
                        cachedir=/var/cache/yum/$basearch/$releasever 仓库元数据系数据本地缓存目录
                        keepcache=0 缓存的数据安装后是否保存(0表示不保存)
                        debuglevel=2 调试级别
                        logfile=/var/log/yum.log 日志文件目录
                        exactarch=1 平台是否精确匹配才能安装
                        obsoletes=1 安装包的时候是否检查过期的仓库
                        plugins=1 是否支持使用yum的插件
                在.repo文件定义一个yum repo指向的格式:
[REPOID]  仓库的类型
                        name=  此处填写仓库的名称

                        baseurl=  此处填写仓库的所在位置

                        enabled={0|1}  是否启用此仓库
                        gpgcheck={0|1}  使用gpg机制检测包来源合法性和完整性
                        gpgkey=URL  校验key文件所在位置
                        mirrorlist=URL to a file  mirrors指向一个存在可用rul的文件(条目baseurl和mirrorlist二选一)
                        cost={1..n}  默认为1000,指定此repo文件中url访问仓库的开销,数值越小优先级越高
                        ( yum配置文件中可用的四个变量:

                                    $releasever:   程序的版本,对Yum而言指的是redhat-release版本;只替换为主版本号,                                                                   如RedHat 6.5,则替换为6
                                    $arch:   系统架构
                                    $basearch:   当前系统基本架构,如i686,i586等的基本架构为i386
                                    $YUM0-9:   在系统中定义的环境变量,可以在yum中使用 )


四、yum客户端命令的使用
    1. 列出所有可用repo(仓库)

            命令:yum repolist {enabled|disabled|all}
                   参数解释:启用的|禁用的|所有
        2. 列出仓库中rpm包
            命令: yum list {all|installed|available}
                   参数解释:所有的|已安装的|可安装的   
                注:支持文件名通配,显示结果中带@符号表示已安装
        3. 列出包的描述信息
            命令:yum info package_name
        4. 列出所有的包组信息
            命令:yum grouplist
        5. 显示包组的信息
            命令:yum groupinfo "GROUP NAME"
                    例如:yum groupinfo "Server Platform Development"
        6. 清理缓存
            命令:yum clean {all|packages|metadata|expire-cache|rpmdb|plugins}
                    参数解释:所有|包|元数据|过期的缓存|rpm数据库|插件
        7. 安装程序包
            命令:yum install package_name
            重新安装命令:yum reinstall package_name
        8. 升级
            检查可用的升级包命令:yum check-update:
            升级程序包:yum update package_name
            升级到某个版本,例如:yum update zsh-4.3.10-8
            降级到某个版本,例如:yum dowgrade zsh-4.3.10-7
        9. 卸载

           命令: yum remove package_name 或者,
                      yum erase package_name
        10. 查询某文件是由哪个包安装生成的
            命令:yum provides /.../.../file
        11. 安装包组
            命令:yum groupinstall "GROUP NAME"
        12. 卸载包组
            命令:yum groupremove "GROUP NAME"
        注:若从其它处获得一个rpm包,此包依赖于其它包(在仓库中),如过只是单次使用,就没有必要为它建立元                    数据。安装方法:yum install /.../.../file


五、自建yum仓库
        1. 自建基于光盘镜像的yum仓库
           (1). 挂载光盘到/media/cdrom目录
           (2). 创建Centos-Base.repo文件,写入repo文件:
                    [base]

                    name=CentOS Media

                    baseurl=file:///media/cdrom
                    gpgcheck=0

                    enabled=1

        2. 自建提供yum仓库的中心服务器
            以http为例,步骤:

            (1). 安装httpd程序,并启动服务
                  命令:yum install httpd
            (2). 启动服务

                   命令:service httpd start

            (3). 在httpd的文档根目录:/var/www/html中创建子目录,将软件包放入子目录中。
            (4). 为仓库生成元数据文件,以使能够作为仓库使用
                  命令:createrepo /.../.../
                        例如:createrepo/var/www/html/zabix

                   注:命令后跟的目录是包所在目录,createrepo若没有安装则需要安装。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-66410-1-1.html 上篇帖子: linux 下查看登陆用户 下篇帖子: Linux工具之curl与wget高级使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表