linux上tarball套件的安装步骤

没有评论

2010 年 12 月 31 日 at 下午 7:24分类:Linux

Tarball套件是什么呢?其实就是将套件的额所有源码文件以tar打包,然后再压缩,最常见的就是以gzip来压缩了,因为利用了 tar 与 gzip 的功能,所以 tarball 档案一般的附档名就会写成 *.tar.gz 或者是简写为 *.tgz 啰!也就是说, Tarball 套件解压缩之后,里面的档案通常就会有:
1、原始程序代码档案;
2、侦测程序档案( 可能是 configure 或 config 等档名 );
3、本套件的简易说明与安装说明( INSTALL 或 README )。
其中最重要的是那个 INSTALL 或者是 README 这两个档案,通常您只要能够参考这两个档案,呵呵! Tarball 套件的安装是很简单的啦!我们在后面的章节会再继续介绍 Tarball 这个玩意儿。
Tarball的安装步骤可以归结为以下四个步骤:
1、建立Makefile文件,(用命令:./configure)
这个步骤就是在建立 Makefile 这的档案啰!通常程序开发者会写一支 scripts 来检查您的 Linux 系统、相关的套件属性等等,这个步骤相当的重要,因为未来您的安装信息都是这一步骤内完成的!另外,这个步骤的相关信息应该要参考一下该目录下的 README 或 INSTALL 相关的档案!!基本上,这个步骤完成之后会建立( 或修改 )一个 Makefile ,这就是参数档啦!
2、使用命令make clean读取关于clean的操作
make 会读取 Makefile 中关于 clean 的工作。这个步骤不一定会有,但是希望执行一下!为什么呢?因为在进行编译的时候,会产生一些 *.o 的档案,例如有个 abc.c 的原始码,经过编译后会变成 abc.o 的档案!我们称这些档案为 object file ,这些档案如果之前已经编译过并留下来的话,那么这次再编译的时候,就不会编译该档案,然而由于我们可能已经修改了部分的参数,因此该档案的编译结果事实 上应该会有所不同!因此,为了避免前一次留下来的数据可能影响到这次编译的结果,所以通常可以进行一下这个步骤啰!
3、make,根据makefile文件进行编译
make 会依据 Makefile 当中的预设工作进行编译的行为!编译的工作主要是进行 gcc 来将原始码编译成为可以被执行的 object files ,但是这些 object files 通常还需要一些函式库之类的 link 后,才能产生一个完整的执行档!使用 make 就是要将原始码编译成为可以被执行的可执行档,而这个可执行档会放置在目前所在的目录之下,尚未被安装到预定安装的目录中;
4、make install 进行安装
通常这就是最后的安装步骤了,make 会依据 Makefile 这个档案里面关于 install 的项目,将上一个步骤所编译完成的数据给他安装到预定的目录中,就完成安装啦!
*****************************************************************************************************
由于 Tarball 在升级与安装上面具有这些特色,亦即 Tarball 在反安装上面具有比较高的难度( 如果您没有好好规划的话~ ),所以,为了方便 Tarball 的管理,通常我们会这样建议使用者:
最好将 tarball 的原始数据解压缩到 /usr/local/src 当中;安装时,最好安装到 /usr/local 这个预设路径下;考虑未来的反安装步骤,最好可以将每个套件单独的安装在 /usr/local 底下,例如安装 rp-pppoe-2.6.tar.gz 时,则可以指定该套件需要安装于 /usr/local/rp-pppoe 当中,如此一来,该套件会将所有的数据都写入 /usr/local/rp-pppoe 当中,因此,未来如果要移除该套件,只要将该目录删除即可视为成功的移除了!不过单独安装某个套件在某一特定路径下的作法,会导致当有 man page 的时候,使用预设的 MANPATH 会找不到相关的说明档案内容。这个时候就必须要将 man page 的路径加到/etc/man.config 档案中了!否则使用 man 也查询不到指令的使用方法的。以上面的例子为例,如果是安装了 /usr/local/rp-pppoe 当中,通常 man page 会放在 /usr/local/rp-pppoe/man 当中,所以,您就必需要在 /etc/man.config 里面差不多 40~50 行左右的地方,加入底下这一行:
MANPATH /usr/local/rp-pppoe/man这样就可以使用 man 来查询资料啰!
****************************************************************************************************
下面是一个简单的例子:
我们利用时间服务器 ntp-4.1.2 这个套件来测试安装看看。先请到 http://www.ntp.org/downloads.html 这个目录去下载档案,
假设我对这个套件的要求是这样的:
假设 ntp-4.1.2.tar.gz 这个档案放置在 /root 这个目录下;
原始码请解开在 /usr/local/src 底下;
我要安装到 /usr/local/ntp 这个目录中;
那么您可以依照底下的步骤来安装测试看看

# 1. 解压缩,并阅读一下 ntp 底下的 README 与 INSTALL:  
[root@test root]# cd /usr/local/src  
[root@test src]# tar -zxvf /root/ntp-4.1.2.tar.gz  
# 这个步骤会让原始码解开成为 /usr/local/src/ntp-4.1.2 这个目录 
  
# 2. 进入原始码所在目录,并且查阅如何安装的技巧: 
[root@test src]# cd ntp-4.1.2  
[root@test ntp-4.1.2]# vi INSTALL ( 或 vi README)  
  
# 3. 开始设定参数、编译与安装: 
[root@test ntp-4.1.2]# ./configure --help | more  
# 上面这个动作可以察看一下可用的参数!  
  
[root@test ntp-4.1.2]# ./configure --prefix=/usr/local/ntp  \  
>  --enable-all-clocks --enable-parse-clocks  
checking for gcc... (cached) gcc 
checking whether we are using the GNU C compiler... (cached) yes 
checking whether gcc accepts -g... (cached) yes 
.....(略).... 
configure: creating ./config.status 
config.status: creating Makefile 
# 一般来说 configure 设定参数较重要的就是那个 --prefix=/path 了, 
# --prefix 后面接的路径就是『这个软件未来要安装到那个目录去?』 
# 如果您没有指定 --prefix=/path 这个参数,通常预设参数就是 /usr/local 
# 至于其它的参数意义就得要参考 ./configure --help 了! 
# 这个动作完成之后会产生 makefile 或 Makefile 这个档案 
# 当然啦,这个侦测检查的过程会显示在屏幕上,特别留意关于 gcc 的检查, 
# 还有最重要的是最后需要成功的建立起 Makefile 才行!(上面最后一行) 
  
[root@test ntp-4.1.2]# make clean ; make  
[root@test ntp-4.1.2]# make check 
[root@test ntp-4.1.2]# make install 
# 将数据给他安装在 /usr/local/ntp 底下

整个动作就这么简单,我们已经完成了ntp套件的安装,完成之后到 /usr/local/ntp 就能找到相关的文件和文件夹了