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