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

[经验分享] Linux程序包管理之yum

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-11-27 08:36:52 | 显示全部楼层 |阅读模式
yum是什么?
        yum是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无需繁琐的一次次下载、安装。yum是基于yum数据库,它所支持的文件服务有4种,可以使用ftp、web、nfs还可使用本地文件file。yum实际是存储rpm包的仓库,它有一个缓存,缓存yum仓库中的元数据文件。
为什么使用yum软件包管理器?
     rpm包的安装有一个很大的缺点就是文件的关联性太大,有时候装一个软件要安装很多其它的软件包,很麻烦,所以为此RedHat开发了yum安装方法,可以彻底解决关联性的问题。

yum repository: yum仓库
存储了众多rpm包,以及包的相关元数据的文件(放在repodata目录中)服务器

文件服务:
        http://  【这两个//表示转义符】
        ftp://   【这两个//表示转义符】
        nfs://   【这两个//表示转义符】
        file:///  【后一个/表示本地路径的根】

yum客户端:
配置文件:指向仓库的位置以及各种配置信息;每个yum客户可以有多个可用的yum仓库;

主配置文件:/etc/yum.conf
           /etc/yum.repos.d/*.repo

仓库定义:
[REPO_ID]  仓库ID,标识符
name=REPO description 描述符
baseurl=ftp://172.16.0.1/pub/CentOS6/ 仓库具体所在路径
enabled={1|0} 表示当前仓库是否被使用,默认为1启用
gpgcheck={1|0} 是否以gpg格式来验证数据的完整性,如果为1时,必须指定gpgkey=file的具体路径
gpgkey=ftp://172.16.0.1/pub/CentOS6/gpg-key 表示gpg具体的指定路径,这个路径可能在ftp、web上,也可能在本地路径上,要指定清楚
wKiom1R1da7gfuFVAAE1AzTnUl8920.jpg
yum命令:    yum [options] [command] [package ...]

yum仓库相关的命令:

列出所有可用仓库:# yum repolist
列出所有程序包:  # yum list {all|installed|available}
                 支持 globbing通配符:*

列出所有包组  :  # yum grouplist
缓存管理:    # yum clean {all|packages}
             # yum makecache

安装:yum install PACKAGE_NAME ...
wKioL1R1drXgrdrLAAJDGA8Kr50323.jpg

如果要安装指定的版本的程序:yum install PACKAGE-VERSION

重装指定的程序包:yum reinstall PACKAGE_NAME ...

升级:yum update PACKAGE_NAME

如果有多个版本的升级包可用,且仅期望升级到指定版本:
       yum update PACKAGE-VERSION

降级:yum downgrade PACKAGE_NAME

检查可用升级:yum check-update
wKioL1R1dyqw_K1CAAMgO-zk190187.jpg
卸载:yum erase|remove PACKAGE_NAME
依赖于指定程序包的其它包,会被一并卸载;


查询:yum list
      yum info PACKAGE_NAME
      yum search KEYWORD: 根据关键字模糊查询包名或包的sumary信息包含此KEYWORD的相关列表;
      yum provides|whatprovides /path/to/somefile

包组管理:
显示所有包组:yum grouplist
wKioL1R1d37QhhMyAAHa3rgPHnE593.jpg
显示某包组的相关信息:yum groupinfo "GROUP_NAME"
安装包组: yum groupinstall "GROUP_NAME"
          yum install @GROUP_NAME        

卸载包组:
        yum groupremove "GROUP_NAME"
        yum remove @"GROUP_NAME"
升级包组:
        yum groupupdate "GROUP_NAME"

yum命令还可用安装本地rpm包文件:
    yum localinstall /path/to/rpm_package_file ...

    CentOS 7: yum install /path/to/rpm_package_file ...

选项:

       --enablerepo= 后跟repoID表示启用某yum仓库
       --disablerepo= 后跟repoID表示禁用某yum仓库
注意:优先级高于/etc/yum.repos.d/*.repo配置文件中定义的属性;
      -y: 自动回答为yes
      --nogpgcheck

如何构建yum仓库:createrepo

yum客户端配置的高级用法:

1、在yum客户定义仓库时可使用cost定义仓库的使用开销,默认为1000;
2、baseurl中指定路径时可使用变量
    $releasever: 当前OS发行版的主版本号
    $arch: 平台
    $basearch: 基础平台,例如i686,i586,i486,i386系列的基础平台都是i386;
    $YUM0-$YUM9

   例如:http://mirrors.sohu.com/centos/$releasever/os/$basearch
3、可以使用mirrorlist指令替换baseurl:
指向一个URL,此URL是一个文本文件,其中保存了大量镜像服务器列表;用户使用yum仓库时,会获取此列表文件,而后通过fastestmirror插件判断哪一个镜像为访问速度最快的服务器,并以之做为本次访问的baseurl;


运维网声明 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-33830-1-1.html 上篇帖子: Ubuntu 下关于crontab的使用详解 下篇帖子: 鸟哥centos6.6 BIND DNS实验 Linux 程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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