Linux软件如何安装及管理(2)
下面这段代码就是对test程序的描述:
1:#It is a example for describing makefile2:test: file1.o file2.o file3.o3:cc file1.o file2.o file3.o -LS -o test
4:file1.o: file1.c 1.h apcs
5:gcc -c file1.c
6:file3.o: file3.c 3.h apcs
7:gcc -c file3.c
8:file2.o: file2.c c.h
9:gcc -c file2.c
这个描述文档其实就是一个makefile文件,第一行为注释行,第二行指定test程序有file1.o、file2.o、file3.o链接生成,第三行描述了如何从test所依赖的文件建立可执行文件,接下来的第四、六、八行定义了三个目标文件和它们依赖的“.c”、“.h”和“apcs”文件。剩下的第五、七、九行定义了如何从目标依赖的文件生成可执行文件。
在了解Makefile文件结构后,我们就可以控制编译的选项,定制自己所需的软件功能。
接下来,我们只需在命令行输入make命令,即可进入编译阶段,根据软件源程序的大小和系统的硬件配置,编译时间不定,编译完毕,会在当前目录以及子目录下生成相应的可执行文件,接下来就进入最后的安装软件阶段,在命令行输入make install命令,开始安装软件,安装进程会首先创建安装目录,如果我们没有指定安装的目录,安装程序默认会安装在系统的/usr/local目录下创建安装目录,然后将相应的文件和可执行程序从源码目录拷贝到安装目录下,这样安装就完毕了。
1.4 源码安装Apache Http server
下面我们通过源码安装apache,实例讲解linux下源码的安装方式。
1. 下载解压apache源码
[root@WEBServer~]#mkdir /apache #在根目录下创建一个apache目录[root@WEBServer~]#cd /apache #切换到apache目录[root@WEBServer apache]#wget \ #下载apache源码》http://apache.mirror.phpchina.com/httpd/httpd-2.2.9.tar.bz2[root@WEBServer apache]#tar -jxvf httpd-2.2.9.tar.bz2 #解压apache源码[root@WEBServer apache]#ls #显示解压结果httpd-2.2.9 httpd-2.2.9.tar.bz2
2. 测试安装环境
[root@WEBServer apache]#cd httpd-2.2.9 #切换到httpd-2.2.9目录下[root@WEBServer httpd-2.2.9]#./configure --prefix=/opt/apache2.2.9 \》--enable-so \》--enable-mods-shared=most \
》--enable-proxy-balancer=shared \
》--enable-proxy-http=shared \
》--enable-proxy-ajp \
》--enable-rewrite
注意:上面我们指定apache的安装目录为/opt/apache2.2.9,同时指定需要编译的apache模块。
下面分别介绍这些模块代表的含义,更详细的请参看apache文档。
l --enable-so选项:表示让 Apache 可以支持DSO模式,这里采用的是 Apache2.0以后的语法。如果你的Apache 是1.3版本,应改为“--enable-module=so”。
l --enable-mods-shared=most选项:表示动态编译大部分常用的模块,当然,也可以有选择的加载一些模块,most意思是只包含通常用的模块,并且以动态加载模式加载。如果用的是 Apache1.3, 改为“--enable-shared=max”即可。
l --enable-proxy-balancer=shared选项:表示让apache支持负载均衡功能,即动态的编译apache的负载均衡模块。
l --enable-proxy-http=shared选项:表示动态编译apache的http代理模块。
l --enable-proxy-ajp选项:表示动态编译apache的proxy-ajp模块。
l --enable-rewrite选项:让apache支持地址重写功能,即动态编译apache的rewrite模块。
3.编译安装软件
[root@WEBServer httpd-2.2.9]#make
[root@WEBServer httpd-2.2.9]#make install安装完毕,apache被安装到/opt/apache2.2.9下,接下来我们就可以使用apache软件了。