1. 程式人生 > >Linux 源碼安裝

Linux 源碼安裝

要求 set 技術 所有 sha mage ref doc star

源碼包與RPM包的區別

源碼包是開源的,更自由,安裝更慢,容易出錯,可以定制功能,需要編譯RPM包安裝快,不自由,安裝方便,不易出錯,源碼包由於安裝在固定的位置,所以和此軟件有關的內容都不在安裝目錄之下,但我們要刪除它時,能將所有東西全部刪除,很方便

具體的最直觀的不同
RPM包會安裝在系統默認的位置,而源碼包是手工安裝在某個位置
/etc/ 配置文件默認安裝位置
/usr/bin/ 可執行命令默認安裝位置
/usr/lib 函數庫默認保存位置
/usr/share/doc/ 使用手冊安裝位置
/usr/share/man/ 幫助文檔安裝位置
這些目錄是絕大多說RPM包的默認安裝目錄

源碼包安裝位置
一般情況下,我們把源碼包安裝在/usr/local/軟件名下

安裝的位置的不同帶來的影響

RPM包安裝的服務可以用系統服務管理命令來管理,比如apache啟動的方法:
centOS6.*版本,7以後有所改變
/etc/rc.d/init.d/httpd start
setvice httpd start
兩種都可以

service在啟動服務的時候會向RPM包的默認安裝路徑中去找可執行文件,然後執行,但是service無法啟動源碼包安裝的軟件,因為service不會的搜索路徑中不包括源碼包安裝的路徑

一般,要啟動源碼裝的軟件要通過絕對路徑來啟動服務或軟件
如:/usr/local/apache2/bin/apachectl start

源碼包的安裝過程

在我們進行源碼包安裝之前,需要安裝gcc 因為源碼包需要編譯,而編譯需要gcc。
註意事項:
源代碼保存位置:/usr/local/src/
軟件安裝位置:/usr/local/
如何確定出錯:安裝過程中停止,並出現error,waring,no等提示

在準備工作做完之後,我們要做的是下載源碼包,我們以httpd服務為例,進行演示:

1.下載源碼包(我是在windows上下的,然後用WinSCP工具傳到centOS6上)
httpd-2.2.32.tar.bz2
2.解壓源碼包
tar -jxvf httpd-2.2.32.tar.bz2

技術分享


3.進入到解壓後的文件夾中

技術分享

在上圖中INSTALL是安裝說明文檔,RENAME是使用說明文檔

技術分享

./configure 軟件的配置與檢查

定義需要的功能選項
檢測系統環境是否符合安裝要求
把定義好的功能選項和檢測系統環境的信息都寫到MAkefile文件中去(如上圖,默認沒有Makefile只有這一步完成,才會出現)

可以用./configure --help查看可以定制的功能
我們用./configure --prefix=/usr/local/apache2來定義安裝路徑
我們假設檢測沒問題,接下來在安裝目錄下執行make

接下來執行make install,這時要註意,在我們執行這一步之前,都不會向指定的安裝目錄寫下任何東西,只有在這一步執行後,才會真正的寫入。
make install執行完後,源碼包算是裝完了
接下來我們啟動服務就好了/usr/local/apache2/bin/apachectl start

如果我們想卸載掉源碼包安裝的,只需要rm -rf /usr/local/apache2就可以了,它不會有任何殘留,非常方便


腳本安裝
軟件包是沒有腳本包的,只有RPM包和源碼包
腳本安裝包不是獨立的軟膠寶類型,一般安裝的還是源碼包,是人為的把安裝過程寫成自動安裝的腳本,只要執行腳本,定義簡單的參數,就可以完成。

現在的大多數腳本安裝包是硬件驅動等,其他大部分安裝包,還是RPM包或源碼包,這裏就簡單介紹一下,不說安裝說明

Linux 源碼安裝