Linux软件安装之源码安装
时间:2022-04-03 11:11
什么是源码安装?一开始接触到Linux时候感觉很疑惑,安装不就是跟Windows中安装软件一样,下一步-->更改安装位置-->下一步么,用什么源码安装?现在有了些初步的了解,写出来算是做个笔记,与大家分享学习成果吧。
每个程序开发过程中或因考虑不充分出现一些漏洞,或者有些程序模块是你用不到的, 是否只能程序开发者才能解决问题呢?在Linux中不是这样的,每个人可以根据自己的喜好、要求随意改动源代码,自行修改程序为你所用。这样的源码不必再有专门的安装包,可直接编译安装,这就是源码安装的基本思想。
什么是可执行文件?一个文件能不能执行看的是有没有执行权限,但是Linux真正能识别的是二进制文件。而软件编辑一般都是使用人能看懂的文本编辑工具所编辑的纯文本文件,如果想让Linux能识别这个纯文本文件的内容,就需要用一些手段将其转换成二进制文件,这个过程就称为编译。用如下图描述整个过程:
源码安装起始就是将纯文本文件通过调用外部的一些函数关系,编译成Linux能看的懂得二进制程序。
查看configure脚本内容
在源码包目录下使用./configure --help 命令查看该源代码包安装的配置说明。注意,不同的源代码选项是不相同的,需要逐一查看。
案例——C代码编译安装三个步骤:
configure脚本内容
选项:指定安装位置、指定启用特性
--prefix=/PATH/TO/SOMEWHERE: 指定默认目录安装,如果未指明则将会在默认路径下/usr/local/ 下边安装,生成lib,bin 等文件。
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE 依赖到的程序包
Optional Feature :可选特性
--disable-FEATURE 禁用此特性
--enable-FEATURE[ARG] 启用某特性
Some influential environment variables
此文件中说明了安装步骤,1、./configure --prefix-preFIX 2、make 3、make install 4、preFIX/bin/apachectl start。同时在安装前须查看此源码包中安装说明信息——INSTALL,不同的源代码包中的说明文件不一样,有的可能是README。
介绍完基础信息后,下面我们开始进行测试。执行如下命令:
[ httpd-2.2.29]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd2
如果测试结果没有报错,就可以开始编译了。
至此源码包已经编译安装完成,接下来试试安装的软件是否可用。在bin下的apachectl脚本能控制apache服务启动的。启动该程序后用netstat -ntl 查看80 端口被监控,则说明apache已经正常的运行了。别高兴太早,这还不算完。要想程序开机就能使用还得需要如下的步骤:
然后让系统重新 生成缓存即执行ldconfig -v 命令。
3、导出头文件,将安装程序头文件/usr/local/apache2/include 在/usr/include 中创建一个连接文件,可以将其中的每个文件都创建连接,也可以将整个目录创建连接。本次创建的整个目录连接。
[ man]# ln -sv /usr/local/apache2/include/ /usr/include/apache2
4、导出帮助文件:
编辑/etc/man.config,在其中添加"MANPATH /usr/local/apache2/man"自此完成了所有的配置工作。
如果在configure中将安装路径选择默认,上边的第2、3条可以省略了,因为默认会在安装在/usr/local中,其库文件、头文件都会在/usr 中。