天天看點

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

為什麼要進行源碼安裝軟體包呢?

由于我們系統自帶都是一些已經編譯好的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,并且改變該檔案的權限為可執行。

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

繼續閱讀