日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下如何使用configure/make/make install命令编译安装卸载程序

發(fā)布時(shí)間:2023/12/15 linux 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下如何使用configure/make/make install命令编译安装卸载程序 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

源碼的安裝一般由3個(gè)步驟組成:配置(configure)、編譯(make)、安裝(make install)。安裝成功的源碼就是所謂的可執(zhí)行文件,在你不需要的時(shí)候,也是可以刪除/卸載(remove/uninstall)的。下面就逐個(gè)進(jìn)行分析:

一、源碼的配置

配置命令就是configure命令。一般來說,configure文件是位于源碼根目錄下的一個(gè)可執(zhí)行的腳本文件,它有很多選項(xiàng),而且不同軟件的選項(xiàng)都不完全一致。可以在待安裝的源碼目錄下使用命令./configure –help可以輸出詳細(xì)的選項(xiàng)列表。

其中有一個(gè)通用的選項(xiàng),叫做–prefix選項(xiàng),目的是配置安裝目錄。

如果不配置該選項(xiàng),安裝后可執(zhí)行文件默認(rèn)放在/usr/local/bin,庫文件默認(rèn)放在/usr/local/lib,配置文件默認(rèn)放在/usr/local/etc,其它的資源文件放在/usr/local/share,比較凌亂。

如果你想統(tǒng)一存放,或者想指定到另外的一個(gè)路徑下,你可以人工配置–prefix參數(shù),如:

./configure --prefix=/usr/local/test

那么,安裝后的所有資源文件都會(huì)被放在/usr/local/test目錄中,不會(huì)分散到其他目錄。

另外,使用–prefix選項(xiàng)的另一個(gè)好處是方便卸載軟件或移植軟件。當(dāng)某個(gè)安裝的軟件不再需要時(shí),只須簡(jiǎn)單的刪除該安裝目錄,就可以把軟件卸載得干干凈凈。

二、源碼的編譯

配置完畢之后,一般都會(huì)提示你,直接運(yùn)行make命令進(jìn)行編譯。此時(shí)你照做就好,程序就會(huì)開始自動(dòng)編譯。

有一個(gè)要注意的就是,考慮到目前的計(jì)算機(jī)一般都是多核的,如果你想人工加快程序的編譯速度,可以手工指定一個(gè)make命令的一個(gè)參數(shù)“-j8”或者“-j16”,后面的數(shù)字表示的就是用幾個(gè)核進(jìn)行編譯,數(shù)字越大,編譯速度越快。當(dāng)然,要說明的是,這里的編譯速度與內(nèi)核的個(gè)數(shù),并不是成正比的。而且,具體多少個(gè)任務(wù)同時(shí)執(zhí)行為佳,還需要根據(jù)具體的機(jī)器配置,任務(wù)數(shù)太多,反而效果不好。

比如我自己做過的一個(gè)linux內(nèi)核的編譯過程測(cè)試,使用不同的參數(shù)編譯的時(shí)間如下:

  • 用make:40分16秒;
  • 用make -j4:23分16秒;
  • 用make -j8:22分59秒;

另外,這個(gè)方案不是完全沒有弊端的,如果項(xiàng)目的Makefile不規(guī)范,沒有正確的設(shè)置好依賴關(guān)系,并行編譯的結(jié)果就是編譯不能正常進(jìn)行。如果依賴關(guān)系設(shè)置過于保守,則可能本身編譯的可并行度就下降了,也不能取得最佳的效果。

三、程序的安裝

編譯完成之后,就是安裝。這里的安裝,其實(shí)就是把編譯出來的可執(zhí)行文件,以及一堆的頭文件和依賴庫,以及文檔資料等,按照linux系統(tǒng)約定的規(guī)則,拷貝到你事先指定的目錄下去。所以,與其叫安裝,其實(shí)就是一個(gè)拷貝的過程。

同樣,這里也有一點(diǎn)要說明的是,很多時(shí)候,手冊(cè)或者提示信息里都只是告訴你,執(zhí)行“make install”命令來進(jìn)行安裝。然而,你執(zhí)行了這個(gè)命令之后,往往會(huì)遇到一些錯(cuò)誤的提示。經(jīng)過一番排查之后,你會(huì)發(fā)現(xiàn),就是因?yàn)闄?quán)限不夠,導(dǎo)致文件拷貝失敗。于是,我建議你,最好養(yǎng)成一個(gè)習(xí)慣,每次在“make install”的命令前加上sudo的權(quán)限,如下:

sudo make install

四、程序的卸載

當(dāng)然,要卸載程序,也可以在原來的make目錄下用一次make uninstall,但前提是Makefile文件有uninstall命令。

而如果你安裝時(shí)沒有配置–prefix選項(xiàng),源碼包也沒有提供make uninstall命令,則可以通過以下方式來卸載:

找到make install之后產(chǎn)生的這個(gè)文件install_manifest.txt

里面有安裝的所有東西的路徑,使用下述命令逐個(gè)刪除它們即可。

cat install_manifest.txt | sudo xargs rm

總結(jié)

以上是生活随笔為你收集整理的linux下如何使用configure/make/make install命令编译安装卸载程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。