
使用Linux系统的同学肯定知道yum这个工具,而且网上有很多关于yum的配置,我们在需要使用yum的时候只需要找到相关文章按步骤操作即可。我在使用yum的时候同样是这样,但是yum究竟是什么?他到底起到了什么样的作用?
接下来跟随小编的步伐,我们一起来探索。
1、开胃篇
在本节中,小编会给大家说一些关于windows和Linux的常识,希望对大家有所帮助。
1.1 首先需要知道的是,所有注重服务的软件是需要收费的,而Linux下的软件是几乎不考虑用户体验的(因为Linux的用户基本都是工程师级别的,而且Linux是开源的,做的再好也没有收益),我们在windows下用的各种各样的软件,我们在使用过程中无时无刻不在夸赞他们的界面美观、使用方便、性能良好,这都是需要成本来运营的,所以这些软件基本都是要变相收费的。
1.2 再者,我们使用的软件与软件之间是存在依赖关系的,比如:我们在windows系统下安装了QQ软件,我们一直在正常使用,但是忽然有一天提示我们需要更新windows,当我们更新完毕后,出现了QQ无法正常打开的错误提示。

这是因为软件之间的依赖关系导致的,因为QQ的运行需要windows系统下的一些配置文件之类的属性文件,当我们更新windows后,这些配置文件更新或者不见了,所以QQ就无法正常运行。
这时候就有读者有疑问了,我在windows下安装软件的时候并没有考虑依赖关系,我们一路随着安装步骤next下去就可以了,这是因为商家已经考虑到这种依赖关系,并给我们配置好了,所以我们作为用户并不需要考虑这种依赖关系,但是Linux下,是没有人帮你搞定这些依赖关系的,必须我们自己搞定。
2、yum
我们将yum称为包管理器,主要用来解决:下载、依赖关系、安装、卸载四种问题。
我们以手机为例,当我们新买了一个手机,想要下载QQ这个app,应该怎么办呢?
------打开应用商店app,搜寻QQ,点击下载并安装。
同样,我们在Linux下载软件应该怎么办呢?
------a:源码安装
------b:rpm安装包
------c:yum
在Linux系统中有一个yum软件服务器,上面有Linux需要的各种软件软件包,我们使用yum命令去云服务器下载我们所需要的软件,然后再本地进行安装。对于这种行为不知道大家觉得似曾相识,yum的使用本质上和手机应用商店是一样的,所以手机上的应用市场对应Linux下的yum工具。
2.1 yum是什么
综上所述:yum是一个客户端软件,作用是帮助我们在远端服务器上下载对应的软件包,并解决我们在本地电脑上的一个安装问题。(好比手机上的应用市场)
2.2 软件包
在上面的叙述中,我们提到了软件包,那么软件包是什么呢?
A:在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序。
B:但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。
C:软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系。
D:yum(Yellow dog Updater, Modifified)是Linux下非常常用的一种包管理器. 主要应用在Fedora、RedHat、Centos等发行版上.。
所以在Linux中,yum就是包管理器,利用yum下载的软件就是软件包。
以上就是小编对于什么是yum的介绍,对于yum的配置大家可以自行查阅相关文章。

类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
为什么4.1%2返回0.0999999999999996?但是4.2%2==0.2。 最佳答案 参见此处:WhatEveryProgrammerShouldKnowAboutFloating-PointArithmetic实数是无限的。计算机使用的位数有限(今天是32位、64位)。因此计算机进行的浮点运算不能代表所有的实数。0.1是这些数字之一。请注意,这不是与Ruby相关的问题,而是与所有编程语言相关的问题,因为它来自计算机表示实数的方式。 关于ruby-为什么4.1%2使用Ruby返
它不等于主线程的binding,这个toplevel作用域是什么?此作用域与主线程中的binding有何不同?>ruby-e'putsTOPLEVEL_BINDING===binding'false 最佳答案 事实是,TOPLEVEL_BINDING始终引用Binding的预定义全局实例,而Kernel#binding创建的新实例>Binding每次封装当前执行上下文。在顶层,它们都包含相同的绑定(bind),但它们不是同一个对象,您无法使用==或===测试它们的绑定(bind)相等性。putsTOPLEVEL_BINDINGput
我可以得到Infinity和NaNn=9.0/0#=>Infinityn.class#=>Floatm=0/0.0#=>NaNm.class#=>Float但是当我想直接访问Infinity或NaN时:Infinity#=>uninitializedconstantInfinity(NameError)NaN#=>uninitializedconstantNaN(NameError)什么是Infinity和NaN?它们是对象、关键字还是其他东西? 最佳答案 您看到打印为Infinity和NaN的只是Float类的两个特殊实例的字符串
如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?
我刚刚被困在这个问题上一段时间了。以这个基地为例:moduleTopclassTestendmoduleFooendend稍后,我可以通过这样做在Foo中定义扩展Test的类:moduleTopmoduleFooclassSomeTest但是,如果我尝试通过使用::指定模块来最小化缩进:moduleTop::FooclassFailure这失败了:NameError:uninitializedconstantTop::Foo::Test这是一个错误,还是仅仅是Ruby解析变量名的方式的逻辑结果? 最佳答案 Isthisabug,or