在什麼情況之下,我們需要從原始碼安裝軟體呢?我想不外乎這些情形:一種情況是軟體放出了新的版本,而所用的發行版並沒有及時跟進,這時候,想要嘗 鮮的話,就非得靠自己不可;另一種情形是不管是軟體的開發人員,還是現用的系統都沒有提供可直接使用的二進位包,而自己又非要使用該軟體,那麼也需親自出馬 才行;當然,還有其他的情形。總而言之,學會從原始碼安裝軟體是一項非常重要的技能。
那麼,要如何才能從原始碼安裝軟體呢?首先,你必須要做好為編譯原始碼所需的準備工作。這包括兩個方面:
- 編譯工具:要將原始碼編譯成可執行檔二進位檔案,編譯工具必不可少。在 Ubuntu 中,可以從終端中執行
sudo apt-get install build-essential 指令來安裝基本的編譯工具。根據所編譯器的實際情況,你也可能需要安裝其他一些工具。
- 編譯依賴:除了安裝基本的編譯工具之外,為了順利編譯原始碼,我們也要把該程式所需要的依賴安裝好。Ubuntu 系統可以通過
sudo apt-get build-dep 命令後跟包名的方式來準備所需的依賴。如果在 Ubuntu 中無法通過這樣的辦法來安裝依賴的話,那麼應該善於閱讀源碼包中所含的 README、INSTALL 等檔案,一般程式作者都有說明,只需按要求做即可。
在編譯原始碼之前,你一定把軟體的源碼包下載到了自己的硬碟上吧。一般而言,程式源碼包經常被打包成 .tar.gz 和 .tar.bz2 這兩種格式。前者可用 tar zxvf *.tar.gz 來解包,後者則用 tar jxvf *.tar.bz2。通常,在解包後,我們應該閱讀程式附帶的相關說明檔案,如 README(讀我檔案)、INSTALL(安裝檔案)等,以便瞭解程式的編譯介紹。
當所有的事情都準備妥當了後,那麼讓我們來進行原始碼編譯的三部曲吧。
- 配置:這是編譯原始碼的第一步,通過
./configure 命令完成。執行此步以便為編譯原始碼作準備。常用的選項有 --prefix=PREFIX,用以指定程式的安裝位置。更多的選項可通過 --help 查詢。也有某些程式無需執行此步。
- 編譯:一旦配置通過,可即刻使用
make 指令來執行原始碼的編譯過程。視軟體的具體情況而定,編譯所需的時間也各有差異,我們所要做的就是耐心等候和靜觀其變。此步雖然僅下簡單的指令,但有時候 所遇到的問題卻十分複雜。較常碰到的情形是程式編譯到中途卻無法圓滿結束。此時,需要根據出錯提示分析以便找到應對之策。
- 安裝:如果編譯沒有問題,那麼執行
sudo make install 就可以將程式安裝到系統中了。
若是覺得所編譯的軟體不夠適用想要刪除,又如何做呢?我們只需轉到編譯原始碼的目錄,執行 sudo make uninstall 命令。