linux下的很多软件都是通过源代码方式发布的,这样比起二进制软件包来说,配置和编译器来繁琐点,但是可移植性好的多,正对不同的体系结构,软件开发者,往往仅需要发布同一份源代码包,不同的最终用户经过编译就可以正确运行,这也是非常符合c语言的设计哲学的,一次编写,多出编译。最常见的二进制包,比如rpm和deb,软件开发者必须为每种特定的平台定制好专门的软件包。

源代码安装具体步骤:

1、tar zxvf xxxx.tar.gz                    (      tar jxvf    xxxx.tar.bz2      )
2、cd xxxxx
3、./configure
4、make 
5、make install
6、make clean
7、make  uninstall
8、make dist clean 清楚编译好的文件,以便重新编译



解压:

最常见的源代码包有两种xxxx.tar.gz      xxxxx.tar.bz2,其实这些源代码包都是由两个工具压缩而成

1、tar.gz 用到的工具是tar 和gunzip ,

2、tar..bz2用到的工具是tar和bzip2

这里tar仅仅能够用来打包多个文件,但是没有压缩的功能,

而gz和bz2却刚好相反,仅能压缩 单个文件

所以我们常见的源代码包实际上是通过tar现将不同的源文件打包,然后在通过gunzip或者bzip2压缩后发布的,当然这两个步骤可以通过一条命令实现:

                

tar          zcvf        xxxx.tar.gz           xxxxxxx
                       tar           jcvf       xxxxx.tar..bz2             xxxxxxxxxxx

将当前目录下所有.txt文件打包并压缩归档到文件this.tar.gz

tar         zcvf    this.tar.gz     ./*.txt


注意解压是zxvf  或者jxvf  ,压缩是       zcvf  和jcvf  



./configure

./configure是作编译相关的准备工作,它主要对您当起俺的工作平台做一些依赖性检测,比如编译器是否安装,连接器是否存在,如果在检测的过程没有任何错误,configure脚本会在当前目录下生成下一步编译链接所有用到的另一个文件makefile,当然configure支持极其丰富的命令行参数,可以通过./configure --help来获取具体的信息

最常用的就是指定软件的安装目录:

                            ./configure   --prefix=/opt/xxx

一般程序会被默认安装到/usr/local/bin 目录录下。




make install

将可执行程序安装

install 是makefile文件中的一个标号,“make install”代表着make工具执行makefile文件中install标号下的所有相关操作,如果没有设置 --prefix=/opt/xxx

则会安装到/usr/local/bin下。



make clean:

用来清除编译链接过程中的一些临时文件,



make uninstall

用来写在相关应用程序。



rpm 软件包安装

            rpm -ivh xxx.rpm 

rpm软件包卸载

           rpm -e    xxx