Linux平台上的软件安装分为编译安装和软件包安装,其中软件包安装最为简单,可以YUM直接安装,也可以把RPM包下载到本地再安装,总之省时省力,另外如果你想看YUM安装后,软件所涉及的目录有哪些,比如配置文件、程序文件都放在什么地方,也很简单,使用下面的命令:
rpm -ql 软件名称
如下图:
今天我们来说一下编译安装是什么,为什么要用编译安装。
一般我们从网上下载的tar.gz的包都是源码包,针对源码包的软件安装成为编译安装。什么叫编译?简单来说就是把源代码变成适合当前平台的二进制文件,让内核可以识别。
编译安装的大体过程如下:运行源码包中的config或者configure检测程序(相信大家肯定熟悉),这个脚本一般后面都会跟一些参数,不同软件参数会不同。这个程序就是找到所需的函数库,编译器和其他资料,然后会生成一个Makefile文件,如果过程顺利,你就可以运行make进行安装,此时就Make命令就会读取生成的Makefile文件然后调用GCC编译器进行编译,然后最后通过make install命令进行安装。有时我们会看到下面的命令使用方式:
make && make install
这就是把两个命令一次录入,然后按顺序执行,好处是不同等着。软件的安装位置、启动的特性等都是在configure阶段所指定的。具体可以使用下面命令来查看软件支持多少可用参数:
./configure --help
这里需要说明的是:GCC其实可以直接编译程序文件,为什么还需要根据makefile,这里最直接的原因就是效率问题,一个软件不可能只有一个程序文件,还有其他的所需文件,如果用GCC逐个编译实在太麻烦,所以用makefile比较高效。
注意事项:makefile生成以后,可以运行make test进行测试。另外如果第一次编译失败,第二次编译之前(make之前,configure之后)要运行make clean命令把之前的编译清除掉。
make clear:只是删除make产生的文件,它不能删除当前目录下产生的配置文件和build产生的文件
make distclean:类似于make clear但是它可以删除当前目录下产生的配置文件和build产生的文件
不是所有软件都可以通过软件包管理器安装,尤其是新版的软件。
本文出自 “小恶魔的家” 博客,请务必保留此出处http://littledevil.blog.51cto.com/9445436/1863043
原文:http://littledevil.blog.51cto.com/9445436/1863043