Linux中make安裝與解除安裝及注意事項

2021-09-25 01:45:35 字數 2808 閱讀 2151

linux安裝軟體採用原始碼安裝靈活自由,適用於不同的平台,維護也十分方便。原始碼的安裝一般由3個步驟組成:

配置(configure)

編譯(make)

安裝(make install)

具體的安裝方法一般作者都會給出文件,這裡說明配置(configure)的prefix選項

以安裝supersparrow-0.0.0為例,我們打算把他安裝到目錄 /usr/local/supersparrow,於是在supersparrow-0.0.0目錄執行帶選項的指令碼

./configure –prefix=/usr/local/supersparrow
執行成功後再編譯、安裝(make,make install);安裝完成將自動生成目錄supersparrow,而且該軟體任何的文件都被複製到這個目錄。為什麼要指定這個安裝目錄?是為了以後的維護方便,假如沒有用這個選項,安裝過程結束後,該軟體所需的軟體被複製到不同的系統目錄下,很難弄清楚到底複製了那些文件、都複製到**去了—基本上是一塌糊塗。

用了—prefix選項的另乙個好處是解除安裝軟體或移植軟體。當某個安裝的軟體不再需要時,只須簡單的刪除該安裝目錄,就能夠把軟體解除安裝得乾乾淨淨;移植軟體只需拷貝整個目錄到另外乙個機器即可(相同的作業系統)。

乙個小選項有這麼方便的作用,建議在實際工作中多多使用。

注意:

「configure --prefix=/」的作用是:編譯的時候用來指定程式存放路徑 。

1、不指定prefix,可執行檔案預設放在/usr/local/bin,庫檔案預設放在/usr/local/lib,配置檔案預設放在/usr/local/etc。其它的資源檔案放在/usr/local/share。

2、指定prefix,直接刪掉乙個資料夾就夠了。

還有關鍵的一點是,編譯安裝完成後,不要刪除源**,不然就算作者寫了unnistall目標,你也沒有makefile可以執行了。

解決方式如下:

注意:

在使用make install是要養成加–prefix的引數指定安裝路徑

用原始碼包安裝,請在安裝的時候指定–prefix安裝目錄,另外安裝的時候請使用

make >& log_make &make install >& log_install &
用於儲存安裝資訊日誌,這樣需要解除安裝的時候方便檢視哪些檔案安裝在了系統目錄中,例如/usr/lib下的庫檔案。

常見的反安裝target有:

make uninstall/distclean/veryclean
找乙個臨時目錄重新安裝一遍。比如

./configure --prefix=/tmp/to_remove && make install
然後遍歷/tmp/to_remove裡的檔案,把原來安裝位置的檔案都刪除。這樣的壞處是有些資料夾還可能刪除不了(分不清是系統的還是安裝上的)

makefile定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯,甚至於進行更複雜的功能操作,因為 makefile就像乙個shell指令碼一樣,其中也可以執行作業系統的命令

先先看一下什麼是makefile

makefile定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯,甚至於進行更複雜的功能操作,因為 makefile就像乙個shell指令碼一樣,其中也可以執行作業系統的命令。

makefile帶來的好處就是–「自動化編譯」,一旦寫好,只需要乙個make命令,整個工程完全自動編譯,極大的提高了軟體開發的效率。make是乙個命令工具,是乙個解釋makefile中指令的命令工具,一般來說,大多數的ide都有這個命令,比如:delphi的make,visual c++的nmake,linux下gnu的make.可見,makefile都成為了一種在工程方面的編譯方法。

make

根據makefile檔案編譯源**、連線、生成目標檔案、可執行檔案。

make clean

清除上次的make命令所產生的object檔案(字尾為「.o」的檔案)及可執行檔案。

make install

將編譯成功的可執行檔案安裝到系統目錄中,一般為/usr/local/bin目錄。

make dist

產生發布軟體包檔案(即distribution package)。這個命令將會將可執行檔案及相關檔案打包成乙個tar.gz壓縮的檔案用來作為發布軟體的軟體包。

它會在當前目錄下生成乙個名字類似「package-version.tar.gz」的檔案。package和version,是我們在configure.in中定義的am_init_automake(package, version)。

make distcheck

生成發布軟體包並對其進行測試檢查,以確定發布包的正確性。這個操作將自動把壓縮包檔案解開,然後執行configure命令,並且執行make,來確認編譯不出現錯誤,最後提示你軟體包已經準備好,可以發布了。

make distclean

類似make clean,但同時也將configure生成的檔案全部刪除掉,包括makefile檔案。

make distclean 清空上次編譯失敗殘留檔案

linux中docker的安裝與解除安裝

ubuntu與centos7都可用的安裝方式 sudo wget qo sh centos7可用的安裝方式 sudo yum config manager add reposudo yum install docker ce docker ce cli containerd.io 以上兩種都是預設安...

linux中安裝與解除安裝軟體(一)

linux 中如何解除安裝已安裝的軟體.linux軟體的安裝和解除安裝一直是困擾許多新使用者的難題。在windows中,我們可以使用軟體自帶的安裝解除安裝程式或在控制面板中的 新增 刪除程式 來實現。與其相類似,在linux下有乙個功能強大的軟體安裝解除安裝工具,名為rpm。它可以用來建立 安裝 查...

Linux 安裝與解除安裝軟體

如果是filename.i386.rpm。rpm ivh filename.i386.rpm 如果是filename.tar.gz 格式的,tarzxvf filename.tar.gz 如果是filename.tar.bz2格式的,tarjxvf filename.tar.bz2 1.編譯原始碼方...