編譯源代碼安裝軟件大致步驟



使用包管理方式安裝軟件與編譯源代碼的區別,包管理方式提供的(以rpm爲例)軟件大多隻保留了一部分經常使用功能,若是咱們須要使用軟件其它功能而rpm包沒有,這咱狀況下就須要編譯源代碼了。編譯源代碼的方式安裝的軟件,能夠自由選擇安裝那些功能,而rpm是固定好的。源代碼安裝選擇功能的靈活性好,rpm包安裝則比較簡便。並且大多數狀況下,軟件以源代碼方式發行比rpm包要快。nginx

源代碼的獲取方式,c++


編譯源代碼安裝軟件依賴開發環境,編譯c程序須要gcc編譯器,編譯c++須要gcc-c++編譯器,若是沒有,須要安裝。使用yum或rpm安裝。ide


make 工具,爲了維護源代碼方便,一個代碼稍多的軟件可能分爲多個文件,而編譯時他們之間有相互依賴的關係,編譯時必須有前後順序。程序開發者會用項目管理工具(make),用這個工具爲make提供一個配置文件,這個配置文件中描述了make如何調用gcc和這些文件的前後編譯順序。工具


configure 腳本文件,此文腳本件用會檢查編譯環境,人爲設定須要啓動軟件那些功能,安裝在那個目錄等。 spa


configure 支持的選項,每一個軟件略有不一樣。經常使用的有orm

    --help 獲取幫助blog

    --prefix=/PATH 指定軟件安裝路徑。ci

    --sysconfdir=/PATH 指定安裝軟件的配置文件所在目錄項目管理

    --enable-特性名稱  啓用某個特性或選項,啓用某個特性可能依賴額外開發環境。開發

    --disable-特性名稱  禁用某個特性

    --with-FUNCTION 或 --with=/lib/filename 指定依賴的功能或特定路徑下的文件。

    --without-FUNCTION

編譯安裝源代碼的順序,

   解壓下載的軟件包-->cd到解壓後的目錄-->./configure設定編譯選項-->make(編譯程序)-->make install(把編輯好的程序放到指定目錄)


示例:編譯安裝nginx軟件過程

# ./configure --prefix=/usr/nginx --conf-path=/etc/nginx/nginx.conf  

報錯

wKioL1PJOsCB-wNAAAEqZ-tihVk404.jpg

./configure --prefix=/usr/nginx --conf-path=/etc/nginx/nginx.conf --without-http_rewrite_module

確認沒有報錯

#make

確認沒有報錯

#make install

wKiom1PJOaXBMeUAAARkC_27Y5o167.jpg


查看配置文件的目錄

wKioL1PJOsCDvBkLAAD1yaUm6JI966.jpg

查看nginx安裝目錄

wKiom1PJOaXxMjMPAABMuHbXna0340.jpg


啓動nginx服務

#/usr/nginx/sbin/nginx &

#ss -tnlp

wKioL1PJOsDh7vrFAAERo-nT_To434.jpg


爲了讓nginx像rpm安裝的程序同樣,須要作如下操做

定義PATH環境變量,在/etc/profile.d/建一個文件名爲nginx.sh。內容是export PATH= $PATH:/usr/nginx/sbin


添加man手冊,給/etc/man.conf文件中添加

MAN /手冊所在的位置



若是其它其它程序依賴此程序的開發環境,則須要把此程序的庫和頭文件導出

編輯/etc/ld.so.conf.d/nginx.conf,在此文件中添加庫文件路徑,一行一個庫文件路徑。而後執行ldconfig觸發新成生庫文件在所在位置,導出頭文件只能建立連接,把此軟件所在庫的目錄連接到/usr/include/下。

相關文章
相關標籤/搜索