前言
在 Linux 中,原始碼安裝軟體靈活且適應性強,適用於各種平臺,同時也方便維護,比如我們可以指定安裝路徑。
通常,原始碼安裝包括以下三個步驟:
配置(
configure
)編譯(
make
)安裝(
make install
)
每個軟體的具體安裝方法通常會在文件中詳細說明。這裏特別介紹一下配置過程中 configure
的 --prefix
選項的使用方法。
配置安裝路徑
假設我們要安裝軟體 strongswan
並希望將其安裝到 /ipsec
目錄。在 strongswan
目錄中執行以下命令:
./configure –prefix=/ipsec
透過 ./configure
配置成功後,再執行編譯和安裝命令(make
和 make install
)。
安裝完成後,所有相關檔案將被放置在 /ipsec
目錄中。
為什麼要指定 --prefix
選項?
指定安裝目錄有以下幾個好處:
方便維護:如果不指定
--prefix
,安裝過程會將檔案分散到多個系統目錄中,後續維護時很難確定哪些檔案被安裝到了哪些位置。簡化解除安裝:如果某個軟體不再需要,直接刪除指定的安裝目錄即可乾淨解除安裝該軟體。
方便移植:只需將整個目錄複製到另一臺相同作業系統的機器上即可完成軟體移植。
注意:
./configure --prefix=/
僅用於指定程式的存放路徑。如果不指定
--prefix
,預設情況下,可執行檔案會放在/usr/local/bin
,庫檔案放在/usr/local/lib
,配置檔案放在/usr/local/etc
,其他資原始檔放在/usr/local/share
。編譯安裝完成後,原始碼也不要隨意刪除了,我們還可以透過
make uninstall
指令解除安裝目標程式。
Make 命令說明
Makefile 定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯,甚至於進行更復雜的功能操作,因為 makefile 就像一個 Shell 指令碼一樣,其中也可以執行作業系統的命令
makefile 是什麼
Makefile 定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯,甚至於進行更復雜的功能操作,因為 makefile 就像一個 Shell 指令碼一樣,其中也可以執行作業系統的命令。
Makefile 帶來的好處就是–“自動化編譯”, 一旦寫好,只需要一個 make 命令,整個工程完全自動編譯,極大的提高了軟件開發的效率。Make 是一個命令工具,是一個解釋 makefile 中指令的命令工具,一般來說,大多數的 IDE 都有這個命令,比如:Delphi 的 make, Visual C++的 nmake, Linux 下 GNU 的 make. 可見,makefile 都成爲了一種在工程方面的編譯方法。
常用 make
命令
make
根據 Makefile 檔案編譯原始碼、生成目標檔案和可執行檔案。make clean
清理上次編譯產生的物件檔案(如.o
檔案)和可執行檔案。make install
將編譯成功的可執行檔案安裝到系統目錄中,通常為/usr/local/bin
。make dist
生成釋出軟體包,通常為一個 tar.gz 壓縮檔案,用於釋出軟體。make distcheck
生成釋出軟體包並進行測試檢查,確保釋出包的正確性。make distclean
類似於make clean
,但還會刪除由configure
生成的檔案,包括 Makefile。