首页 > 其他 > 详细

centos6.5软件安装:RPM,SRPM与yum功能

时间:2015-12-26 16:44:41      阅读:314      评论:0      收藏:0      [点我收藏+]

鸟哥的linxu私房菜读书笔记

前言:

  Linux上软件的安装可以以原始码的方式来安装软件,也就是利用厂商释出的 Tarball 来进行软件的安装。不过,你应该很容易发现,那就是每次安装软件都需要侦测操作系统与环境、设定编译参数、实际的编译、最后还要依据个人喜好的方式来安装软件到定位。这过程是真的很麻烦的,而且对于不熟悉整个系统的朋友来说,还真是累人啊!

  那有没有想过,如果我的Linux系统与厂商的系统一模一样,那么在厂商的系统上面编译出来的执行档,自然也就可以在我的系统上面跑啰!也就是说,厂商先在他们的系统上面编译好了我们用户所需要的软件,然后将这个编译好的可执行的软件直接释出给用户来安装,如此一来,由于我们本来就使用厂商的 Linux distribution ,所以当然系统 (硬件与操作系统) 是一样的,那么使用厂商提供的编译过的可执行文件就没有问题啦! 说的比较白话一些,那就是利用类似 Windows 的安装方式,由程序开发者直接在已知的系统上面编译好,再将该程序直接给用户来安装,如此而已。

  那么如果在安装的时候还可以加上一些与这些程序相关的信息,将他建立成为数据库,那么就可以进行安装、反安装、 升级不验证等等的相关功能啰 (类似 Windows 底下的『新增移除程序』)?确实如此,在 Linux 上面至少就有两种常见的这方面的软件管理员,分别是RPM与Debian的dpkg。我们的CentOS主要是以RPM为主但也不能不知道dpkg啦!所以底下就来约略介绍一下这两个玩意儿。

Linux 界的两大主流: RPM 和 DPKG

  由于自由软件的蓬勃发展,加上大型 Unix-Like 主机的强大效能,让很多软件开发者将他们的软件使用Tarball来释出。后来 Linux 发展起来后,由一些企业或社群将这些软件收集起来制作成为distributions以发布这好用的Linux操作系统。但后来发现到,这些distribution的软件管理实在伤脑筋,如果软件有漏洞时,又该如何修补呢?使用 tarball 的方式来管理吗?又常常不晓得到底我们安装过了哪些程序?因此,一些社群不企业就开始思考Linux的软件管理方式

  如同刚刚谈过的方式,Linux开发商先在固定的硬件平台不操作系统平台上面将需要安装戒升级的软件编译好,然后将这个软件的所有相关档案打包成为一个特殊格式的档案在这个软件档案内还包含了预先侦测系统不相依软件的脚本,并提供记载该软件提供的所有档案信息等。最终将这个软件档案释出。客户端取得这个档案后,只要透过特定的指令来安装,那么该软件档案就会依照内部的脚本来侦测相依的前驱软件是否存在,若安装的环境符合需求,那就会开始安装,安装完成后还会将该软件的信息写入软件管理机制中,以达成未来可以进行升级、移除等动作呢

  目前在 Linux 界软件安装方式(也就是刚才所说的distribution档案,通过这个特殊的指令读取档案信息并安装、卸载等关联linux软件)最常见的有两种,分别是:

    dpkg:

      Debian Packager的缩写。

      这个机制最早是由Debian Linux社群所开发出来的,透过dpkg的机制,Debian提供的软件就能够简单的安装起来,同时还能提供安装后的软件信息,实在非常不               错。只要是衍生于Debian的其他Linux distributions大多使用dpkg 这个机制来管理软件的,包括B2D,Ubuntu等等。

    rpm:

      Red Hat Package Manager的缩写。

      这个机制最早是由 Red Hat 这家公司开发出来的,后来实在很好用,因此很多 distributions 就使用这个机制来作为软件安装的管理方式。包拪 Fedora, CentOS,              SuSE 等等知名的开发商都是用这种方式。

    如前所述,不论dpkg/rpm这些机制或多或少都会有软件属性相依的问题,那该如何解决呢?其实前面不是谈到过每个软件档案都有提供相依属性的检查吗?那么如果我们将相依属性的数据做成列表,等到实际软件安装时,若发生有相依属性的软件状况时,例如安装A需要先安装B与C而安装B则需要安装D与E时那举当你要安装A,透过相依属性列表,管理机制自动去取得B,C,D, E来同时安装,不就解决了属性相依的问题吗?

    目前新的Linux开发商都有提供这样的『在线升级』机制,透过这个机制,原版光盘就只有第一次安装时需要用到而已,其他时候只要有网络,你就能够取得原本开发商所提供的任何软件了!(因为在安装这个distributions的时候,已经有这个distributions的所有软件的相依属性的列表,以后升级软件比如yum通过读取这个列表,就能安装或者升级这个distributions的软件了。)在dpkg管理机制上就开发出APT的在线升级机制,RPM则依开发商的不同,有Red Hat系统的yum,SuSE系统的Yast Online Update (YOU), Mandriva 的urpmi软件等。

    

 

  

       

 

 

  

  

centos6.5软件安装:RPM,SRPM与yum功能

原文:http://www.cnblogs.com/machanghai/p/5078231.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!