.
洪朝贵老师的
C
程序语言:
http://www.cyut.edu.tw/~ckhung/b/c/
第二十二章、软件安装
RPM, SRPM
YUM
最½更新日期:
2015/10/16
虽然使用原始码½行软件编译可以具有客制化的设定,但对于
Linux distribution
的发布商来说,则有软件管理不易的问
题,
毕竟不是每个人都会½行原始码编译的。如果能够½软件预先在相同的硬件与操作系统上面编译好才发布的话,
就能够让相同的
distribution
具有完全一致的软件版本吗?如果再加上简易的安装
/
移除
/
管理等机制的话,
对于软件控管
就会简易的多。有这种东西吗?有的,那就是
RPM
YUM
这两个好用的咚咚。
既然这么好用,我们当然不能错过学
习机会啰!赶½来参详参详!
22.1
软件管理员简½
在前一章我们提到以原始码的方式来安装软件,也就是利用厂商释出的
Tarball
来½行软件的安装。
不过,你应该很容易发现,那就是每次安装软件都需要侦测操作系统与环境、设定编译参数、实际的
编译、
最后还要依据个人喜好的方式来安装软件到定位。这过程是真的很麻烦的,而且对于不熟整
个系统的朋友来说,还真是累人啊!
那有没有想过,如果我的
Linux
系统与厂商的系统一模一样,那么在厂商的系统上面编译出来的执
行档,
自然也就可以在我的系统上面跑啰!也就是说,
厂商先在他们的系统上面编译好了我们用户
所需要的软件,
然后½这个编译好的可执行的软件直½释出给用户来安装
,如此一来,由于我们本
来就使用厂商的
Linux distribution
,所以当然系统
(
硬件与操作系统
)
是一样的,那么使用厂商提供
的编译过的可执行文件就没有问题啦!
说的比½白话一些,那就是利用类似
Windows
的安装方式,
由程序开发者直½在已知的系统上面编译好,再½该程序直½给用户来安装,如此而已。
那么如果在安装的时候还可以加上一些与这些程序相关的信息,½他½立成为数据库,那不就可以½
行安装、反安装、
升级与验证等等的相关功能啰
(
类似
Windows
底下的『新增移除程序』
)
?确实
如此,在
Linux
上面至少就有两种常见的这方面的软件管理员,分别是
RPM
Debian
dpkg
我们的
CentOS
主要是以
RPM
为主,但也不能不知道
dpkg
啦!所以底下就来约略½绍一下这两
个玩意儿。
22.1.1 Linux
½的两大主流
: RPM
DPKG
由于自由软件的蓬勃发展,加上大型
Unix-Like
主机的强大效能,让很多软件开发者½他们的软件
使用
Tarball
来释出。
后来
Linux
发展起来后,由一些企业或社群½这些软件收集起来制作成为
distributions
以发布这好用的
Linux
操作系统。但后来发现到,这些
distribution
的软件管理实在伤
脑½,
如果软件有漏洞时,又该如何修补呢?使用
tarball
的方式来管理吗?又常常不晓得到底我们
安装过了哪些程序?
因此,一些社群与企业就开始思考
Linux
的软件管理方式。
如同刚刚谈过的方式,
Linux
开发商先在固定的硬件平台与操作系统平台上面½需要安装或升级的软
件编译好,
然后½这个软件的所有相关文件打包成为一个特殊格式的文件,在这个软件文件内还包
含了预先侦测系统与相依软件的½本,
并提供记载该软件提供的所有文件信息等。最终½这个软件
文件释出。
客户端取得这个文件后,只要透过特定的指令来安装,
那么该软件文件就会依照内部的