linux下如何使用configure/make/make install命令编译安装卸载程序
源碼的安裝一般由3個步驟組成:配置(configure)、編譯(make)、安裝(make install)。安裝成功的源碼就是所謂的可執行文件,在你不需要的時候,也是可以刪除/卸載(remove/uninstall)的。下面就逐個進行分析:
一、源碼的配置
配置命令就是configure命令。一般來說,configure文件是位于源碼根目錄下的一個可執行的腳本文件,它有很多選項,而且不同軟件的選項都不完全一致??梢栽诖惭b的源碼目錄下使用命令./configure –help可以輸出詳細的選項列表。
其中有一個通用的選項,叫做–prefix選項,目的是配置安裝目錄。
如果不配置該選項,安裝后可執行文件默認放在/usr/local/bin,庫文件默認放在/usr/local/lib,配置文件默認放在/usr/local/etc,其它的資源文件放在/usr/local/share,比較凌亂。
如果你想統一存放,或者想指定到另外的一個路徑下,你可以人工配置–prefix參數,如:
./configure --prefix=/usr/local/test那么,安裝后的所有資源文件都會被放在/usr/local/test目錄中,不會分散到其他目錄。
另外,使用–prefix選項的另一個好處是方便卸載軟件或移植軟件。當某個安裝的軟件不再需要時,只須簡單的刪除該安裝目錄,就可以把軟件卸載得干干凈凈。
二、源碼的編譯
配置完畢之后,一般都會提示你,直接運行make命令進行編譯。此時你照做就好,程序就會開始自動編譯。
有一個要注意的就是,考慮到目前的計算機一般都是多核的,如果你想人工加快程序的編譯速度,可以手工指定一個make命令的一個參數“-j8”或者“-j16”,后面的數字表示的就是用幾個核進行編譯,數字越大,編譯速度越快。當然,要說明的是,這里的編譯速度與內核的個數,并不是成正比的。而且,具體多少個任務同時執行為佳,還需要根據具體的機器配置,任務數太多,反而效果不好。
比如我自己做過的一個linux內核的編譯過程測試,使用不同的參數編譯的時間如下:
- 用make:40分16秒;
- 用make -j4:23分16秒;
- 用make -j8:22分59秒;
另外,這個方案不是完全沒有弊端的,如果項目的Makefile不規范,沒有正確的設置好依賴關系,并行編譯的結果就是編譯不能正常進行。如果依賴關系設置過于保守,則可能本身編譯的可并行度就下降了,也不能取得最佳的效果。
三、程序的安裝
編譯完成之后,就是安裝。這里的安裝,其實就是把編譯出來的可執行文件,以及一堆的頭文件和依賴庫,以及文檔資料等,按照linux系統約定的規則,拷貝到你事先指定的目錄下去。所以,與其叫安裝,其實就是一個拷貝的過程。
同樣,這里也有一點要說明的是,很多時候,手冊或者提示信息里都只是告訴你,執行“make install”命令來進行安裝。然而,你執行了這個命令之后,往往會遇到一些錯誤的提示。經過一番排查之后,你會發現,就是因為權限不夠,導致文件拷貝失敗。于是,我建議你,最好養成一個習慣,每次在“make install”的命令前加上sudo的權限,如下:
sudo make install四、程序的卸載
當然,要卸載程序,也可以在原來的make目錄下用一次make uninstall,但前提是Makefile文件有uninstall命令。
而如果你安裝時沒有配置–prefix選項,源碼包也沒有提供make uninstall命令,則可以通過以下方式來卸載:
找到make install之后產生的這個文件install_manifest.txt
里面有安裝的所有東西的路徑,使用下述命令逐個刪除它們即可。
cat install_manifest.txt | sudo xargs rm總結
以上是生活随笔為你收集整理的linux下如何使用configure/make/make install命令编译安装卸载程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 欧盟已就动视暴雪交易案向微软发出反垄断警
- 下一篇: 玩转mini2440开发板之【64位Ub