首页 服务器正文

Linux的RPM与Tarball套件管理工具

mydiannao 服务器 09-12 2777 0
为何需要升级套件

  这真是一个很有趣的课题,为何需要升级套件?如果我的机器运作的好好的,那么我干嘛需要升级?通常我们升级的原因主要有三个:

  ·需要新的功能,但旧有主机并没有,所以需要安装新的套件;

  ·旧版本的套件上面可能有安全上的顾虑,所以需要更新到新版的套件;

  ·旧版的套件执行效能不彰,或者执行的能力不能让管理者满足。

  在上面的需求当中,尤其需要注意的是第二点,当一个套件有安全上的顾虑时,千万不要怀疑,赶紧更新套件吧!否则造成网路危机,那可不是闹着玩的?那么更新的方法有哪些呢?其实,目前在 Linux 里面有相当多的不同的更新套件的方式,包括了 Red Hat 发展的 RPM 与 up2date 的线上更新模式; Debian 这个 distribution 里头使用的 dpkg 方法;Sun Unix 上面使用的 pkg 升级方式;目前越来越流行的 apt 线上更新模式;还有原始码里头最常使用的 Tarball 编译方法等等,如果要一个一个说明的话那也太累人了?所以,这里我们以目前在 Mandrake, Red Hat, OpenLinux 等 Linux distributions 内常见的 RPM 与 Tarball 的套件升级方式来进行说明:

  ·RPM

  目前使用最广泛的套件管理程式之一,利用资料库管理的方式来进行套件的安装,具有相当容易的操作介面,而且套件查询验证的功能相当强大,不过麻烦的地方在于他的属性相依的问题;

  ·Tarball

  直接以原始码( source code )经过编译后,进行安装。在安装上面具有较大的灵活度,可以随时更改使用者喜好的参数。但是需要其他的套件协助,例如 gcc compiler, kernel-header, make 套件等等,并且在反安装上面具有一定程度的困难度;

  这两种方法是各有优缺点啦,我们这里想要来谈一谈 RPM 与 Tarball 的安装方式了!

  RPM套件管理员:

  接下来我们先谈论一下广为流传与使用的 RPM 套件管理员的相关使用方法喔!

  ·什么是 RPM 、 SRPM ?

  RPM 全名是『 RedHat Package Manager 』简称则为 RPM 啦!顾名思义,当初这个套件管理的程式是由 Red Hat 这家公司发展出来的,但其实在很多的其他套件也有相类似的套件管理程式。不过由于 RPM 使用上很方便,所以就成了目前最热门的套件管理程式啦!那么什么是 RPM 呢?说的简单一点, RPM 是以一种资料库记录的方式来将你所需要的套件安装到你的 Linux 主机的一套管理程式。他最大的特点就是将您要安装的套件先包装好了,透过包装好的套件里头预设的资料库记录,记录这个套件要安装的时候必须要的相依属性模组(就是你的 Linux 主机需要先存在的几个必须的套件),当安装在你的 Linux 主机时, RPM 会先依照套件里头的纪录资料查询 Linux 主机的相依属性套件是否满足,若满足则予以安装,若不满足则不予安装。那么安装的时候就将该套件的资讯整个写入 RPM 的资料库中,以便未来的查询、验证与反安装!这样一来的优点是:

  1.由于已经编译完成并且打包完毕,所以安装上很方便;

  2.由于套件的资讯都已经记录在 Linux 主机的资料库上,很方便查询、升级与反安装;

  但是这也造成很大的困扰,由于 RPM 程式是已经包装好的资料,也就是说,里面的资料已经都『编译完成』了!所以,安装的时候一定需要当初安装时的主机环境才能安装,也就是说,当初建立这个套件的安装环境必须也要在你的主机上面出现才行!例如 rp-pppoe 这个 ADSL 拨接套件,他必须要在 ppp 这个套件存在的环境下才能进行安装!如果你的主机并没有 ppp 这个套件,那么很抱歉,除非您先安装 ppp 否则 rp-pppoe 就是不让你安装的(当然您可以强制安装,但是通常都会有点问题发生就是了!)。所以,通常不同的 distribution 所释出的 RPM 档案,并不能用在其他的 distribution 里面,举例来说, Red Hat 释出的 RPM 档案,通常无法直接在 Mandrake 上面进行安装的,更有甚者,不同版本之间也无法互通,例如 Mandrake 9.0 的 RPM 档案就无法直接套用在 8.2 上面!因此,这样可以发现他的缺点是:

本站公告

【企业、公司、工作室、出租屋、家庭】
远程解决:网络异常,路由器配置,打印机设置,驱动安装,局域网文件共享,监控调试,电脑故障等电脑周边问题解决,欢迎咨询!
微信:1633694989