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所依賴的文件建立可執(zhí)行文件,接下來的第四、六、八行定義了三個目標(biāo)文件和它們依賴的“.c”、“.h”和“apcs”文件。剩下的第五、七、九行定義了如何從目標(biāo)依賴的文件生成可執(zhí)行文件。
在了解Makefile文件結(jié)構(gòu)后,我們就可以控制編譯的選項,定制自己所需的軟件功能。
接下來,我們只需在命令行輸入make命令,即可進入編譯階段,根據(jù)軟件源程序的大小和系統(tǒng)的硬件配置,編譯時間不定,編譯完畢,會在當(dāng)前目錄以及子目錄下生成相應(yīng)的可執(zhí)行文件,接下來就進入最后的安裝軟件階段,在命令行輸入make install命令,開始安裝軟件,安裝進程會首先創(chuàng)建安裝目錄,如果我們沒有指定安裝的目錄,安裝程序默認(rèn)會安裝在系統(tǒng)的/usr/local目錄下創(chuàng)建安裝目錄,然后將相應(yīng)的文件和可執(zhí)行程序從源碼目錄拷貝到安裝目錄下,這樣安裝就完畢了。
1.4 源碼安裝Apache Http server
下面我們通過源碼安裝apache,實例講解linux下源碼的安裝方式。
1. 下載解壓apache源碼
[root@WEBServer~]#mkdir /apache #在根目錄下創(chuàng)建一個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 #顯示解壓結(jié)果httpd-2.2.9 httpd-2.2.9.tar.bz2
2. 測試安裝環(huán)境
[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模塊。
下面分別介紹這些模塊代表的含義,更詳細(xì)的請參看apache文檔。
l --enable-so選項:表示讓 Apache 可以支持DSO模式,這里采用的是 Apache2.0以后的語法。如果你的Apache 是1.3版本,應(yīng)改為“--enable-module=so”。
l --enable-mods-shared=most選項:表示動態(tài)編譯大部分常用的模塊,當(dāng)然,也可以有選擇的加載一些模塊,most意思是只包含通常用的模塊,并且以動態(tài)加載模式加載。如果用的是 Apache1.3, 改為“--enable-shared=max”即可。
l --enable-proxy-balancer=shared選項:表示讓apache支持負(fù)載均衡功能,即動態(tài)的編譯apache的負(fù)載均衡模塊。
l --enable-proxy-http=shared選項:表示動態(tài)編譯apache的http代理模塊。
l --enable-proxy-ajp選項:表示動態(tài)編譯apache的proxy-ajp模塊。
l --enable-rewrite選項:讓apache支持地址重寫功能,即動態(tài)編譯apache的rewrite模塊。
3.編譯安裝軟件
[root@WEBServer httpd-2.2.9]#make
[root@WEBServer httpd-2.2.9]#make install安裝完畢,apache被安裝到/opt/apache2.2.9下,接下來我們就可以使用apache軟件了。