Linux软件包管理神器YUM简介
|
副标题[/!--empirenews.page--] 一、什么是YUM YUM是“Yellow dogUpdater, Modified”的缩写,可执行程序名为yum。YUM是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。在红帽企业版Linux 5中引入YUM的重要原因之一,便是YUM能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装,便于管理大量系统的更新问题。 二、为什么要使用YUM 使用yum来安装软件包,要比使用rpm命令安装软件包方便的太多太多了。最主要的一点,我想还是因为yum可以自动的解决依赖关系吧。使用过linux安装二进制软件包的人应该都遇到过rpm包之间的依赖关系,特别是循环依赖,真的是很让人头疼,有时候为了安装一个软件包,不得不浪费一整天的时间。yum自动解决依赖关系,为我们缩短了安装软件包所使用的时间,提高了工作效率,像这样一个堪称尤物的家伙,怎么能让人不爱呢。yum也可以使用一条命令来直接升级系统上所有要升级的软件包,你说,不爱她你爱谁呢。 三、怎样使用YUM yum的使用其实很简单,我们只需要把yum软件包安装好,然后改下yum源配置文件就可以了,就可以从别人的yum源上自动下载软件包,然后自动安装。不过本文章的意义不是在于教你改配置文件,然后安装yum包,然后再利用yum命令来安装软件包,而是要自己动手,自己做YUM源,自己使用自己的YUM源,充分的理解YUM的工作原理。 四、YUM的组成及工作原理 yum由两部分组成,一部分是yum源(或称之为yum仓库|其实就是软件包仓库),另一部分就是yum的客户端,说白了就是安装好yum软件,可以使用yum命令的客户机。 当我们使用yum命令来安装一个软件包的时候,yum会根据yum的配置文件(/etc/yum.repos.d/*.repo)来查找yum源,然后下载yum源上的数据文件缓存到本地,以便再次查询的时候,提高查询速度。只有第一次才会下载缓存文件。完成之后,如果要安装的软件包在软件仓库里,那么就开始根据服务器上依赖关系文件里面的定义,看是不是有依赖其它软件包,如果有,会提示用户有依赖关系,是不是要安装,用户回答y的时候,开始自动解决依赖关系直到完成软件包的安装。如果没依赖关系,也会提示用户,找到了要安装的软件包,是不是现在安装,如果用户输入y,则开始安装,如果直接回车,默认是不安装的。一个yum命令,会开启一个yum事务,所以,如果你正在执行yum命令,然后别人登录到了你在的服务器,这时候他是不能执行yum命令的,这时候的yum进程是被锁定的,只有当你的yum命令执行完成后,事务结束,别人才可以使用yum命令。 五、YUM的配置 5.1 配置客户端 客户端的配置为两步,一是安装软件包,二是改配置文件
我的机器上安装了以上软件包,直接使用rpm -ivh就可以安装了,安装完成后,这一步就算是完成了 5.1.2更改配置文件 yum的配置文件有两部分:主配置文件和yum源配置文件 主配置文件 [root@Honway ~]# cat /etc/yum.conf [main] cachedir=/var/cache/yum 缓存目录 keepcache=0 是否保存缓存 debuglevel=2 调试级别 logfile=/var/log/yum.log 日志文件 distroverpkg=redhat-release tolerant=1 允许出错(如果有多个软件包,当有某个包已经安装的时候,是否继续,1表示允许) exactarch=1 obsoletes=1 gpgcheck=1 安装的时候,是不是检测检测软件包的签名信息 plugins=1 启用插件功能 再来看一下yum怎么指定yum源的,文件位于/etc/yum.repos.d/目录下,在这个目录中所有以.repo结尾的文件,都会被yum认为是yum的yum源配置文件。其写法如下 [id] name=custmed yum repository baseurl=ftp://192.168.0.254/pub/Server gpgcheck=0[0禁用|1启用] enabled=0[0禁用|1启用] (默认开启,该项可不写) 其中id就是一个名字,可以随便写。 name是对id的一个描述信息。 baseurl这里有三种写法,也代表了yum支持的三种协议,远程协议有ftp://和http://,本地yum源的file:/// 是三条斜线 gpgcheck是不是检测签名的 enabled是不是启用这一项,一个yum.repo配置文件中,可以写多项,每一项的都是以[id]开始的,每一个[id]都可以认为是一个独立的段 (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


