下载和安装源码包详解
前言
在 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