1、RPM与DPKG
DPKG机制最早是由Debian Linux社群开发出来的,透过dpkg机制,Debian提供的软件就能够简单的安装,同时还能提供安装后的软件信息,,只要是衍生于Debian的其他Linux distributions大多数使用dpkg机制来管理软件,包括B2D、Ubuntu等
RPM机制最早是由RED Hat开发的。fedora、centos、suse等都只用的是该机制。
distribution 代表软件管理机制使用指令在线升级机制(指令)Red Hat/FedoraRPMrpm, rpmbuildYUM (yum)Debian/UbuntuDPKGdpkgAPT (apt-get)2、RPM、SRPM
RPM:RedHat Package Manager,RPM是一种以数据库记录的方式来将你所需的软件安装到你的Linux系统的管理机制。最大的特点就是将你要安装的软件先编译过,并且打包成为RPM机制的包装文件,透过包装好的软件里面默认的数据库记录,记录这个软件要安装的时候的必须具备的相依属性软件,当进行安装时,RPM会依照软件里面的数据查询Linux主机的相依属性软件是否满足,满足则安装,反之。在安装时将该软件的信息整体写入RPM数据库中,以便未来查询、
3、i386、i586、i686、noarch、x86_64
RPM与SRPM的格式分别为:
xxxxxxxxx.rpm <==RPM的格式,已经经过编译且包装完成的rpm文件
xxxxx.src.rpm <==SRPM的格式。包含未编译的原始码信息
那么我们怎么知道这个软件的版本、适用的平台、编译释出的次数呢?只要透过档名就可以知道了!例如 rp-pppoe-3.11-5.el7.x86_64.rpm 这的文件的意义为:
rp-pppoe - 3.11 - 5 .el7.x86_64 .rpm 软件名称 软件的版本信息 释出的次数 适合的硬件平台 扩展名· 软件名称:当然就是每一个软件的名称了!上面的范例就是 rp-pppoe 。 · 版本信息:每一次更新版本就需要有一个版本的信息,否则如何知道这一版是新是旧?这里通常又分为主版本跟次版本。以上面为例,主版本为 3 ,在主版本的架构下更动部分原始码内容,而释出一个新的版本,就是次版本啦!以上面为例,就是 11 啰!所以版本名就为 3.11 · 释出版本次数:通常就是编译的次数啦!那么为何需要重复的编译呢?这是由于同一版的软件中,可能由于有某些 bug 或者是安全上的顾虑,所以必须要进行小幅度的 patch 或重设一些编译参数。 设定完成之后重新编译并打包成 RPM 文件!因此就有不同的打包数出现了! · 操作硬件平台:这是个很好玩的地方,由于 RPM 可以适用在不同的操作平台上,但是不同的平台设定的参数还是有所差异性! 并且,我们可以针对比较高阶的 CPU 来进行优化参数的设定,这样才能够使用高阶 CPU 所带来的硬件加速功能。 所以就有所谓的 i386, i586, i686, x86_64 与 noarch 等的文件名出现了!
平台名称适合平台说明i386几乎适用于所有的 x86 平台,不论是旧的 pentum 或者是新的 Intel Core 2 与 K8 系列的 CPU 等等,都可以正常的工作!那个 i 指的是 Intel 兼容的 CPU 的意思,至于 386 不用说,就是CPU 的等级啦!i586就是针对 586 等级的计算机进行优化编译。那是哪些 CPU 呢?包括 pentum 第一代 MMX CPU, AMD 的 K5, K6 系列 CPU (socket 7 插脚) 等等的 CPU 都算是这个等级;i686在 pentun II 以后的 Intel 系列 CPU ,及 K7 以后等级的 CPU 都属于这个 686 等级! 由于目前市面上几乎仅剩 P-II 以后等级的硬件平台,因此很多 distributions 都直接释出这种等级的RPM 文件。x86_64针对 64 位的 CPU 进行优化编译设定,包括 Intel 的 Core 2 以上等级 CPU ,以及 AMD 的Athlon64 以后等级的 CPU ,都属于这一类型的硬件平台。noarch就是没有任何硬件等级上的限制。一般来说,这种类型的 RPM 文件,里面应该没有 binary program 存在, 较常出现的就是属于 shell script 方面的软件。4、 RPM 的优点 由于 RPM 是透过预先编译并打包成为 RPM 文件格式后,再加以安装的一种方式,并且还能够进行数据库的记载。 所以 RPM 有以下的优点: · RPM 内含已经编译过的程序与配置文件等数据,可以让用户免除重新编译的困扰; · RPM 在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装; · RPM 文件本身提供软件版本信息、相依属性软件名称、软件用途说明、软件所含文件等信息,便于了解软件; · RPM 管理的方式使用数据库记录 RPM 文件的相关参数,便于升级、移除、查询与验证。
