前言
在Linux下安装源码包是最常用的。安装源码包需要把源代码编译成可执行的二进制文件。如果你能读懂这些源代码,就可以修改这些源代码的自定义功能,然后再按照你的需求编译。使用源码包除了可以自定义修改源代码外,还可以定制相关的功能,因为源码包在编译时可以附加额外的选项。
源码包的编译用到了Linux系统里的编译器。常见的源码包一般都是用C语言开发的,因为C语言是Linux上最标准的程序语言。Linux上的C语言编译器称为gcc,利用它可以把C语言编译成可执行的二进制文件。所有,如果你的机器上没有安装gcc,就无法编译源码,可以使用命令#yum install -y gcc
来安装。
一,下载源码包
- 下载源码包
//安装wget命令为:#yum install -y wget
[root@localhost src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.34.tar.gz
--2017-11-14 16:46:00-- http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.34.tar.gz
正在解析主机 mirrors.cnnic.cn (mirrors.cnnic.cn)... 101.6.6.177, 2402:f000:1:416:101:6:6:177
正在连接 mirrors.cnnic.cn (mirrors.cnnic.cn)|101.6.6.177|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:7684419 (7.3M) [application/octet-stream]
正在保存至: “httpd-2.2.34.tar.gz”
100%[=================================================================>] 7,684,419 2.79MB/s 用时 2.6s
2017-11-14 16:46:03 (2.79 MB/s) - 已保存 “httpd-2.2.34.tar.gz” [7684419/7684419])
- 使用ls查看此源码包,并解压
[root@localhost src]# ls
httpd-2.2.34.tar.gz
[root@localhost src]# tar -zxvf httpd-2.2.34.tar.gz
- 使用ls查看解压完成之后的源码包
[root@localhost src]# ls
httpd-2.2.34 httpd-2.2.34.tar.gz
- 查看httpd-2.2.34
[root@localhost src]# cd httpd-2.2.34
[root@localhost httpd-2.2.34]# ls
ABOUT_APACHE buildconf emacs-style INSTALL LICENSE os srclib
acinclude.m4 CHANGES httpd.dep InstallBin.dsp Makefile.in README support
Apache.dsw config.layout httpd.dsp LAYOUT Makefile.win README.platforms test
build configure httpd.mak libhttpd.dep modules README-win32.txt VERSIONING
BuildAll.dsp configure.in httpd.spec libhttpd.dsp NOTICE ROADMAP
BuildBin.dsp docs include libhttpd.mak NWGNUmakefile server
其中
README是 Apache HTTP Server<介绍Server>
INSTALL安装文档
二,安装源码包
安装源码包的步骤(可以在INSTALL中查看):
- $ ./configure –prefix=PREFIX
- $ make
- $ make install
说明
(1) ./configure。这一步可以定制功能,加上相应的选项即可,具体有什么选项可以通过命令 ./configure –help 来查看。这一步会自动检测你的Linux系统与相关的套件是否有编译该源码包时所需要的库,因为一旦缺少某个库,就不能完成编译。只有检测通过后,才会生成Makefile文件。
(2)make。使用这个命令,会根据Makefile文件中预设的参数进行编译,这一步其实是gcc在工作。
(3)make install 这一步是安装步骤,用于创建相关软件的存放目录和配置文件。
对于以上这3个步骤,并不是所有的源码包软件都一样,也就是说,源码包的安装并没有标准的安装步骤。这就需要你拿到源码包解压后,进入目录,找到相关的帮助文档。通常,会以INSTALL或者README为文件名。
安装操作源码包如下
- 第一步
[root@localhost httpd-2.2.34]# ./configure --prefix=/usr/local/apache2
。。。。。。。。。。。。。。。。。
checking for APR... reconfig
configuring package in srclib/apr now
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
Configuring APR library
Platform: x86_64-unknown-linux-gnu
checking for working mkdir -p... yes
APR Version: 1.5.2
checking for chosen layout... apr
checking for gcc... no //报错提醒没有gcc
checking for cc... no
checking for cl.exe... no
//如果你不知道你的命令是否正确可以使用,# echo$? 作用:查看上一条命令是否正确,非0说明上一条命令有错误
[root@localhost httpd-2.2.34]# echo $?
1 //上一条命令错误
[root@localhost httpd-2.2.34]# yum install -y gcc //安装gcc
[root@localhost httpd-2.2.34]# ./configure --prefix=/usr/local/apache2 //重新使用此命令
................
[root@localhost httpd-2.2.34]# echo $?
0 //上一条命令正确
- 第二步
#make //会根据Makefile文件中预设的参数进行编译
......................... //省略
[root@localhost httpd-2.2.34]# echo $?
0 //表示上一段代码正确
- 第三步
#make install //这一步是安装步骤,用于创建相关软件的存放目录和配置文件。
............................. //省略
[root@localhost httpd-2.2.34]# echo $?
0 //表示上一段代码正确
[root@localhost httpd-2.2.34]# ls /usr/local/apache2/ //查看生成的目录
bin build cgi-bin conf error htdocs icons include lib logs man manual modules