词条 | SRPM |
释义 | RPMRPM 全名是『 RedHat Package Manager 』简称则为 RPM 。顾名思义,当初这个套件管理的程序是由 Red Hat 这家公司发展出来的,但其实在很多的其它套件也有相类似的套件管理程序。不过由于 RPM 使用上很方便,所以就成了目前最热门的套件管理程序。 RPM的优点与意义说的简单一点, RPM 是以一种数据库记录的方式来将你所需要的套件安装到你的 Linux 主机的一套管理程序。他最大的特点就是将您要安装的套件先编译过( 如果需要的话 )并且打包好了,透过包装好的套件里头预设的数据库记录,记录这个套件要安装的时候必须要的相依属性模块( 就是你的 Linux 主机需要先存在的几个必须的套件 ),当安装在你的 Linux 主机时, RPM 会先依照套件里头的纪录数据查询 Linux 主机的相依属性套件是否满足,若满足则予以安装,若不满足则不予安装。那么安装的时候就将该套件的信息整个写入 RPM 的数据库中,以便未来的查询、验证与反安装!这样一来的优点是: 1. 由于已经编译完成并且打包完毕,所以安装上很方便( 不需要再重新编译 ); 2. 由于套件的信息都已经记录在 Linux 主机的数据库上,很方便查询、升级与反安装; RPM的缺点与不足如上所述也会造成很大的困扰,由于 RPM 程序是已经包装好的数据,也就是说,里面的数据已经都『编译完成』了!所以,安装的时候一定需要当初安装时的主机环境才能安装,也就是说,当初建立这个套件的安装环境必须也要在你的主机上面出现才行!例如 rp-pppoe 这个 ADSL 拨接套件,他必须要在 ppp 这个套件存在的环境下才能进行安装!如果你的主机并没有 ppp 这个套件,那么很抱歉,除非您先安装 ppp 否则 rp-pppoe 就是不让你安装的( 当然您可以强制安装,但是通常都会有点问题发生就是了! )。所以,通常不同的 distribution 所释出的 RPM 档案,并不能用在其它的 distributions 里面,举例来说, Red Hat 释出的 RPM 档案,通常无法直接在 Mandrake 上面进行安装的,更有甚者,不同版本之间也无法互通,例如 Mandrake 9.0 的 RPM 档案就无法直接套用在 8.2 上面!因此,这样可以发现他的缺点是: 1. 安装的环境必须与打包时的环境需求一致或相当; 2. 需要满足套件的相依属性需求; 3. 反安装时需要特别小心,最底层的套件不可先移除,否则可能造成整个系统的问题! SRPM这些问题怎么办?呵呵!还好,还有 SRPM 这个东西! SRPM 是什么呢?顾名思义,他是 Source RPM 的意思,也就是这个 RPM 档案里面含有原始码( Source Code )。特别注意的是,这个 SRPM 所提供的套件内容『并没有经过编译』,他提供的是原始码喔!通常 SRPM 的附档名是以 ***.src.rpm 这种格式来命名的。不过,既然 SRPM 提供的是原始码,那么为什么我们不使用 Tarball 直接来安装就好了?!这是因为 SRPM 虽然内容是原始码,但是他仍然含有该套件所需要的相依性套件说明、以及所有 RPM 档案所提供的数据,同时,他与 RPM 不同的是,他也提供了参数设定档( 就是 configure 与 makefile )。所以,如果我们下载的是 SRPM ,那么要安装该套件时,RPM 套件管理员将会(1)先将该套件以 RPM 管理的方式编译,(2)然后将编译完成的 RPM 档案安装到 Linux 系统当中。与 RPM 档案相比, SRPM 多了一个重新编译的动作,而且 SRPM 编译完成会产生 RPM 档案。 怪了,怎么 SRPM 这么麻烦呐!还要重新编译一次,那么我们直接使用 RPM 来安装不就好了!?通常一个套件在释出的时候,都会同时释出该套件的 RPM 与 SRPM 。我们现在知道 RPM 档案必须要在相同的 Linux 环境下才能够安装,而 SRPM 既然是原始码的格式,自然我们就可以透过修改 SRPM 内的参数设定档,然后重新编译产生能适合我们 Linux 环境的 RPM 档案,如此一来,不就可以将该套件安装到我们的系统当中,而不必与原作者打包的 Linux 环境相同了?这就是 SRPM 的用处了! |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。