Linux軟件安裝管理之——源碼安裝詳解

1、安裝包分類

在Linux平臺下,軟件包的類型能夠劃分爲兩類:源碼包、二進制包。vim

源碼包:即程序軟件的源代碼(通常也叫Tarball,即將軟件的源碼以tar打包後再壓縮的資源包)。segmentfault

二進制包:如 Red Hat發行版的.rpm包,Debian發行版的.deb包。windows

這篇文章將要介紹的是Linux平臺下的源碼安裝,關於二進制包的安裝能夠查看個人另兩篇文章:《Linux軟件安裝管理之——RPM與YUM詳解》、《Linux軟件安裝管理之——dpkg與apt-*詳解學習

2、源碼包安裝的主要步驟

源碼包的安裝主要分爲三個步驟,如圖:測試

clipboard.png

3、最簡單的例子

爲了可以更好的理解源碼包的安裝過程,這裏舉一個最簡單的例子來加以說明。spa

一、獲取源代碼文件

這裏使用C語言來編寫一個最簡單的程序,輸出「Hello World!」,code

首先,使用命令【vim hello.c】建立一個c源文件,內容以下:ip

#include <stdio.h>

int main(void){

    printf("Hello World!\n");

}

二、編譯

編譯的命令爲【gcc hello.c】資源

執行了上面的命令後則能夠發現當前目錄下多了一個a.out,該文件即爲編譯後生成的二進制文件。get

三、測試結果

運行命令【./a.out】,則能夠獲得以下結果。
clipboard.png

舉上面這個例子只是爲了可以更加好的理解軟件在Linux中安裝的原理,在實際中能夠說是不會有這麼簡單的一個程序來讓你安裝的。通常狀況,一個軟件是由一系列的程序文件來組成,因此現實中的源碼包安裝方法並無像上面那個例子那麼簡單,那下面就來介紹通常狀況下的源碼包安裝方法。

4、源碼包安裝詳解

現實中,使用一個源碼包來安裝程序時,基本步驟如:
clipboard.png

在上圖第二步中的--prefix後面接的路徑表示這個軟件將要安裝到哪一個目錄去,若是沒有指定--prefix=/path這個參數,一般默認爲/usr/local。本人推薦安裝位置爲 /usr/local/XXX,XXX爲本身的實際目錄,這樣會方便之後的管理。

源碼包安裝方式的man文件默認保存在/usr/local/man或/usr/local/share/man中,若是你的安裝路徑自定義爲如/usr/local/XXX,則man文件則通常是在/usr/local/XXX/share/man中。此時若是你想要經過man來查看你所安裝軟件的man手冊,則須要自行修改man的路徑配置文件(多是man.config或者manpath.config)。須要在相應位置添加以下一行:

MANPATH    /usr/local/XXX/share/man

5、其它

一、卸載

經過源碼包安裝的軟件,當你想要卸載的時候,只須要把整個安裝路徑刪除掉就好了,100%卸載,不會像windows那樣常常會殘留那多註冊表之類的垃圾。

根據你的安裝時候選擇的安裝路徑,源碼包的卸載又倉庫兩種狀況:

若是你安裝時候指定的路徑爲:
--prefix=/usr/local/XXX,那麼卸載的時候只須要把XXX這個文件夾刪除便可,由於該軟件安裝的全部文件都是放置在XXX這個文件夾。

但若是你進行源碼包安裝的時候沒有指定位置(默認值通常爲/usr/local/),或指定的位置爲--prefix=/usr/local,則這時候你安裝軟件生成的文件將分別存儲在/usr/local/裏面的bin、lib或ect等目錄中,這時候卸載起來就相對麻煩一點了。

二、源碼包安裝與二進制包的區別

源碼包的優勢:

1)開源,若是有能力能夠修改源代碼

2)能夠自由選擇所需的功能

3)軟件是編譯安裝,因此更加適合本身的系統,更加穩定也效率更高

4)卸載方便

源碼包的缺點:

1)安裝過程步驟較多,尤爲安裝較大的軟件集合時(如LAMP環境搭建),容易出現拼寫錯誤

2)編譯過程時間較長,安裝比二進制安裝時間長

3)由於是編譯安裝,安裝過程當中一旦報錯新手解決

二進制包的優勢:

1)包管理系統簡單,只經過幾個命令就能夠實現包的安裝、升級、查詢和卸載

2)安裝速度比源碼快得多、

二進制包的缺點:

1)通過編譯,不能夠再看到源碼

2)功能選擇不如源碼包靈活

3)依賴性

參考文獻:

《鳥哥的Linux私房菜——基礎學習篇》鳥哥

《The Linux Command Line》William E. Shotts, Jr.

相關文章
相關標籤/搜索