图
21.1.3
、透过
configure
与
make
½行编译示意图
由于不同的
Linux distribution
的函式库文件所放置的路径,或者是函式库的档名订定,
或者是预设
安装的编译程序,以及核心的版本都不相同,因此理论上,你无法在
CentOS 7.x
上面编译出
binary
program
后,还½他拿到
SuSE
上面执行,这个动作通常是不可能成功的!
因为呼½的目标函式库
位置可能不同
(
参考
图
21.1.2
)
,
核心版本更不可能相同!所以能够执行的情况是微乎其微!所以同
一套软件要在不同的平台上面执行时,
必须要重复编译!所以才需要原始码嘛!了½乎!详细的
make
用法与
Makefile
规则,在后续的小½里面再探讨啰!
20.1.4
什么是
Tarball
的软件
从前面几个小½的说明来看,我们知道所谓的源代码,其实就是一些写满了程序代码的纯文本文件。
那我们在
第八章压缩指令的½绍
当中,
也了½了纯文本文件在网络上其实是很浪费带宽的一种文件
格式!
所以啦,如果能够½这些原始码透过文件的打包与压缩技术来½文件的数量与容量减小,
不
但让用户容易下载,软件开发商的网站带宽也能够½省很多很多啊!这就是
Tarball
文件的由来啰!
Tips
想一想,一个核心的原始码文件大约要
300~500 MB
以上,如果每个人都去下载这样
的一个核心文件,
呵呵!那么网络带宽不被吃的死翘翘才怪呢!
所谓的
Tarball
文件,其实就是½软件的所有原始码文件先以
tar
打包,然后再以压缩技术来压缩,
通常最常见的就是以
gzip
来压缩了。因为利用了
tar
与
gzip
的功能,所以
tarball
文件一般的扩展
名就会写成
*.tar.gz
或者是简写为
*.tgz
啰
!不过,½来由于
bzip2
与
xz
的压缩率½佳,所以
Tarball
½½的以
bzip2
及
xz
的压缩技术来取代
gzip
啰!因此档名也会变成
*.tar.bz2, *.tar.xz
之类的哩。
所以说,
Tarball
是一个软件包,
妳½他½压缩之后,里面的文件通常就会有:
.
源代码文件;
.
侦测程序文件
(
可能是
configure
或
config
等檔名
)
;
.
本软件的简易说明与安装说明
(INSTALL
或
README)
。
其中最重要的是那个
INSTALL
或者是
README
这两个文件,通常你只要能够参考这两个文件,
Tarball
软件的安装是很简单的啦!我们在后面的章½会再继续½绍
Tarball
这个玩意儿。
20.1.5
如何安装与升级软件
½原始码作了一个简单的½绍,也知道了系统其实认识的可执行文件是
binary program
之后,好了,
得要聊一聊,那么怎么安装与升级一个
Tarball
的软件?为什么要安装一个新的软件呢?当然是因为
我们的主机上面没有该软件啰!那么,
为何要升级呢?原因可能有底下这些:
.
需要新的功能,但旧有主机的旧版软件并没有,所以需要升级到新版的软件;
.
旧版本的软件上面可能有资安上的顾虑,所以需要更新到新版的软件;
.
旧版的软件执行效能不彰,或者执行的能力不能让管理者满足。