1鲁冯、概述
在 Linux 系統(tǒng)中,軟件除了通過二進(jìn)制包進(jìn)行安裝外色查,還可以通過源碼包進(jìn)行安裝薯演。
源碼包的形式一般是壓縮文件。
2秧了、RPM 包與源碼包的區(qū)別
之前有一些在“12跨扮、【軟件包管理】軟件包分類”中提到過一些,此處不再贅述。
安裝位置不同衡创,即使用 RPM 包與源碼包安裝的軟件后帝嗡,軟件的安裝位置是不同的。
多數(shù)情況下璃氢,使用 RPM 包安裝的軟件的安裝位置:
使用 RPM 包進(jìn)行軟件安裝時哟玷,安裝的位置維持默認(rèn)即可,無需人為調(diào)整一也。
使用源碼包進(jìn)行軟件安裝時巢寡,安裝的位置一般建議手工指定:
- 因安裝位置不同,進(jìn)而導(dǎo)致由軟件產(chǎn)生的服務(wù)的管理(像啟動服務(wù)塘秦、重啟服務(wù)讼渊、關(guān)閉服務(wù)等)不同。
RPM 包安裝的軟件對應(yīng)的服務(wù)的可執(zhí)行文件(服務(wù)的本質(zhì)是可執(zhí)行文件)會默認(rèn)安裝在/etc/rc.d/init.d
目錄下:
在 RedHat 系列的 Linux 系統(tǒng)中尊剔,存在于/etc/rc.d/init.d
目錄下的服務(wù),可以使用service xxx start
菱皆、service xxx restart
须误、service xxx stop
等命令對其進(jìn)行管理,比如說service network restart
仇轻。
對于 Linux 系統(tǒng)中的服務(wù)的可執(zhí)行文件京痢,一般情況下可以直接通過絕對路徑執(zhí)行。
使用絕對路徑進(jìn)行服務(wù)管理
源碼包安裝的軟件對應(yīng)的服務(wù)的可執(zhí)行文件篷店,一般無法使用service
命令進(jìn)行管理祭椰,而需要以使用絕對路徑方式進(jìn)行。
3疲陕、使用源碼包安裝軟件
3.1方淤、安裝步驟
使用源碼包安裝 Apache 為例
step 1:安裝編譯器 gcc 和 gcc-c++(可以使用
rpm
或yum
安裝 gcc 和 gcc-c++)。step 2:下載想要安裝軟件的源碼包(一般是壓縮文件蹄殃,比如
tar.gz
等)携茂。step 3:解壓下載好的壓縮包,建議將解壓后的源碼包保存在
/usr/local/src
目錄下诅岩,便于后續(xù)管理讳苦。
step 4:使用
cd
命令,切換目錄至解壓后的源碼包內(nèi)(此步驟是關(guān)鍵吩谦,否則后續(xù)安裝步驟無法進(jìn)行)鸳谜。step 5:可以打開 INSTALL 文件,閱讀安裝說明式廷。
step 6:根據(jù) INSTALL 中的說明進(jìn)行安裝咐扭。下面所呈現(xiàn)的步驟為多數(shù)情況下的安裝步驟,實際情況下務(wù)必根據(jù) INSTALL 中的說明進(jìn)行安裝,因為有可能會存在特殊的情況草描。
step 6.1:使用
./configure
可以配置安裝細(xì)節(jié)即可以進(jìn)行“自定義安裝”览绿,比如說自定義安裝路徑、自定義安裝的功能項等等穗慕。
自定義安裝路徑:
./configure --prefix=PREFIX
PREFIX
為自定義路徑饿敲,一般是/usr/local/軟件名
在執(zhí)行./configure
的過程中,可能會出現(xiàn)因為各種原因引發(fā)的錯誤逛绵,需要將錯誤解決后再向下進(jìn)行;掣鳌!术浪!
當(dāng)執(zhí)行./configure --prefix=PREFIX
后沒有錯誤出現(xiàn)瓢对,會在當(dāng)前目錄下(源碼包目錄下)出現(xiàn)一個Makefile
文件(就叫Makefile
,多一個字少一個字都不是):
這個時候胰苏,就可以向下進(jìn)行硕蛹。
- step 6.2:編譯與安裝
make
命令:編譯;
make clean
命令:刪除編譯產(chǎn)生的文件硕并,如果編譯出現(xiàn)錯誤法焰,需執(zhí)行這個命令;
make install
命令:如果編譯沒有出錯倔毙,使用該命令進(jìn)行安裝埃仪。只有執(zhí)行該命令,才會向指定的安裝目錄寫入數(shù)據(jù)(即向/usr/local/軟件名
寫入數(shù)據(jù))陕赃,之前的所有操作卵蛉,都不會向指定的安裝目錄中寫入任何數(shù)據(jù)。
- step 7:驗證安裝成功后么库,可以將源碼包(壓縮的傻丝、解壓后)刪除。
4廊散、卸載源碼包安裝的軟件
直接將軟件安裝的目錄直接刪除即可桑滩。沒有專門的卸載命令。