軟件包的安裝(源碼安裝)

爲什麼要進行源碼安裝軟件包呢?

由於我們系統自帶都是一些已經編譯好的rpm安裝包,這些rpm包的更新的速度大約是每三年更新一次,對於那些具有新功能或者具有更多功能的的軟件包,官方只提供給我們那些以c語言和其它語言編寫的源碼包,我們要想使用就必須自己進行編譯和安裝。使用源碼安裝我們不僅可以使用最新的軟件,使用更新或更多的功能,而且能夠個性定製自己的軟件安裝。


源碼安裝的一般步驟是:一般我們下載的源碼都是tar.gz或者tar.bz2格式的,所以首先我們首先要拆包,一般將壓縮包拆解到/usr/local/src/目錄下;拆解後的文件就是源碼,這是我們需要對源碼進行相應的配置(./configure –選項)產生makefile;然後,對產生的makefile文件進行編譯,編譯產生相應的可執行文件、庫文件、頭文件、man手冊;最後執行源碼的安裝make install;安裝之後我們要進行更加細節和人性化的調整。


下面我們就以httpd-2.4.4的安裝爲例,爲大家展示源碼安裝的具體步驟:

安裝前的準備工作:

首先,我們先下載與http相關的軟件包,與httpd相關的軟件包我們可以去apache官方網站進行下載http://www.apache.org。這裏我準備了的軟件包:

httpd-2.4.4.tar.bz2

apr-1.4.6.tar.gz

apr-util-1.5.1.tar.gz

其次,由於我們下載的是源代碼,這些源代碼要使用就必須進行編譯。編譯又需要相應的編譯器,linux常用的編譯器有gcc等多種編譯器,這就要求有多種編譯的環境。一般情況下,只要安裝了以下這些包組:

Development Libraries

               Development Tools  

               X Software Development

               Legacy Software Development

就能解決絕大部分的源碼的編譯環境問題了。我們在源碼安裝前使用:yum grouplist |less查看是否這些包組已經安裝,

至此準備工作已經完成了。


下面是源碼安裝的具體操作步驟:

我們將所用的源碼複製到我們的管理員家目錄下:



將httpd-2.4.4.tar.bz2解壓到/usr/local/src目錄下:tar –jxvfhttpd-2.4.4.tar.bz2 –C /usr/local/src/


切換目錄到/usr/local/src/httpd-2.4.4/:


使用./configure--prefix=/usr/local/apache --sysconfdir=/etc/apache 來指明文件的安裝目錄和配置文件的存放目錄。但是在產生makefile文件之前,該配置腳本會對系統環境進行各種檢測,來查看是否支持apache的運行需求:


接下來我們通過rpm –qa|grep –i apr查看我們的系統是否安裝了apr:



發現我們已經安裝了apr主程序,但是爲什麼還提示沒有找到呢?因爲有時候可能有些apr的庫文件並不包含在apr的主程序當中,而是存在apr-devel的程序中。


下面我們查看是否存在apr-devel安裝包:


發現存在apr-devel包,安裝apr-devel包,再次執行./configure--prefix=/usr/local/apache --sysconfdir=/etc/apache命令:


我們將事先準備好的apr-1.4.6.tar.gz和apr-util-1.5.1.tar.gz解壓安裝,安裝完成後會出現以下目錄:

爲了將形成的頭文件和庫文件能夠被系統借用,我們要將形成的頭文件和庫文件放到系統所能識別的目錄(系統所能識別的頭文件目錄爲:/include或/usr/include;庫文件所能識別的目錄爲:/lib或/usr/lib):

我們可以通過ln –s/usr/local/apr/include/apr-1/* /usr/include

爲了能識別庫文件,我們需要在/etc/ld.so.conf.d/下新建一名爲apr.conf的文件,並將apr的庫文件目錄放在apr.conf的文件內。然後,通過ldconfig命令更新緩存,然後通過ldconfig –pv |grep apr命令來查看是否加載成功庫文件。此時的頭文件和庫文件就能被系統找到。

在這裏爲大家推薦一個可以下載linux相關安裝包網址:http://www.rpmfind.net


安裝完成apr主程序和工具後,我們再次進入/usr/local/src/httpd-2.4.4/目錄下執行./configure--prefix=/usr/local/apache --sysconfdir=/etc/apache命令:


這時我們就需要在剛纔的命令後面來指明apr-1-config的配置文件(--with-apr=/usr/local/apr/bin/apr-1-config):


我們同樣,加入這樣一句話—with-apr-util=/usr/local/apr-util/:


此時,我們查看是否安裝了pcre,如果安裝了,查看是否安裝了pcre-devel,沒有的話安裝pcre-devel:


好了,我們繼續上面未完成的命令,這次終於成功了,然後我們執行make指令進行編譯。


最後,我們通過make install 進行安裝:


切換目錄到/usr/local/apache/目錄下查看所形成的目錄及文件:


此時,要想系統能夠調用我們頭文件,我們需要把我們的頭文件鏈接到系統能夠識別的目錄下:


要想識別我們的庫文件,需要在/etc/ld.so.conf.d/下新建一名爲apache.conf文件將庫的具體路徑(/usr/local/apache/modules/)寫到這個文件內:

然後,使用ldconfig更新緩存。


要想實現man的幫助命令,我們需要修改/etc/man.conf文件,添加我們apache的man手冊的路徑:


測試man命令能否成功:


對於服務來說,要想實現它的功能就必須掛接它的配置文件:


要想實現對apache的控制,我們需要編寫控制腳本,通過chkconfig命令,實現開機自啓動,控制腳本一般放在/etc/init.d/目錄下。我們進入到/etc/init.d/目錄下編寫一個腳本httpd,並且改變該文件的權限爲可執行。

至此,源碼安裝httpd的整個安裝過程就已經完成。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章