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

[经验分享] Linux神奇的yum

[复制链接]

尚未签到

发表于 2018-5-19 13:09:54 | 显示全部楼层 |阅读模式
  到底什么是yum?yum的功能与作用?为什么我们在有了rpm之后,还会出现yum这个软件安装工具呢?不知各位有没有思考过,哪怕仅仅几秒。

  一:yum简介:
  yum,是Yellow dog Updater,Modified的简称,起初是由yello dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。
  yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。yum的关键之处是有着可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header,header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等,正是收集了这些header并加以分析,才能自动化的完成余下的任务。
  二:yum的配置文件
  yum的一切配置信息都存在一个叫yum.conf的配置文件中,通常位于/etc目录下,这是整个yum系统的重中之重。那我先cat一下这个文件。
DSC0000.png

DSC0001.png

  第一部分(这是yum的全局性设置,默认一般不必改动)
  [main]

  cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum
  debuglevel:除错级别,0-10,默认是2
  logfile:yum的日志文件,默认是/var/log/yum.log
  pkgpolicy:包的策略。一共有俩个选项,newest和last这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。
  distroverpkg:指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。
  exactarch:网络连接发生错误后的重试次数,如果设为0,则会无限重试。
  retries:1和0俩个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,但其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。
  除了上述之外,还有一些可以添加的选项,如:
  exclude=,排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
  gpgcheck=,有1和0俩个选择,分别代表是否进行gpg校验,如果没有校验,默认是检查的,即1。
  第二部分:
  配置repository服务器,这是最令人激动的,有了好的repository,就如家门口有个免费的超市,想要什么跑跑腿就行。
  [serverid]
  name=Some name for this server
  baseurl=url://path/to/repository/
  其中,serverid是用于区别各个不同的repository,必须有一个独一无二的名称。而且必须在[]
  name,是对repository的描述,支持像$releasever $basearch这样的变量;
  baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:
  baseurl=url://server1/path/to/repositroy/
  baseurl=ur2://server1/path/to/repositroy/
  baseurl=ur3://server1/path/to/repositroy/
  其中url支持的协议有http:// ftp:// file://三种。bashurl后可以跟多个url,其中url指向的目录必须是repository header目录的上一级。
  url之后可以加上多个选项,如gpgcheck,exclude,failovermethod等
  如
  [updates-released]
  name=Fedora Core $releasever - $basharch - Released Updates
  baseurl=http://downloadatrpms.net/mirrors/fedoracore/updates/$releasever/$bashurl
  http://redhat.linux.ee/pub/fedora/linux/core/updates/$releasever/$bashurl
  http://fr2.rpmfind.net/linux/fedora/core/updates/$releasever/$basharch
  gpgcheck=1
  exclude=gaim
  failovermethod=priority
  其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用,
  failovermethode有俩个选项roundrobin和priority,意思分别是由多个url可选择时,               yum选择的次序,roundrobin是随机选择,如果连接失败则使用下一个,依次循环,                   priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。
  几个变量
  $releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。
  $basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。
  对yum.conf设定完成,我们就可以好好体验yum带来的方便了,下一节再见。我的愿望是,世界上再无心机婊。
  

  

  

  

  

  

  

  

  

  

  

  

  

  

运维网声明 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-462018-1-1.html 上篇帖子: GPT分区安装LINUX 下篇帖子: linux 生产环境优化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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