⑴ Linux上編譯安裝和卸載軟體(./configure && make && make install )
在Linux系統上,安裝和卸載軟體通常遵循"編譯-安裝"的步驟。首先,從源碼開始,執行的命令依次是配置(./configure)、編譯(make)和安裝(make install)。以下是詳細的步驟:
1. 配置階段:`./configure`命令是關鍵,它會檢查系統環境並生成Makefile,配置文件通常位於源碼根目錄,包含眾多選項。使用`./configure --help`可以看到詳細的選項,如`--prefix`用於指定安裝路徑,如果不設置,默認會分散到如/usr/local/bin、lib等目錄。
2. 編譯階段:配置完成後,運行`make`命令進行編譯。為了加速,可以使用`make -jN`命令,其中N是並行任務數,但需確保Makefile配置正確且任務數適合機器性能。
3. 安裝階段:編譯完成後,`make install`將編譯結果和相關文件拷貝到指定路徑。若遇到許可權問題,可使用`sudo make install`。某些軟體可能沒有提供make uninstall,此時可以通過查看`install_manifest.txt`文件手動卸載。
4. 卸載階段:如果有make uninstall,直接運行即可。如果沒有,可以通過`cat install_manifest.txt | sudo xargs rm`來逐個刪除安裝文件。
5. 總結:源碼安裝的整個過程包括了配置、檢查環境並生成Makefile,然後利用Makefile進行編譯和安裝。對於簡單的tar包,直接運行這些命令即可,但對於已打包的rpm或deb包,現代發行版通常提供了包管理器(如apt或yum)以簡化安裝和依賴管理。
⑵ 詳解如何用源代碼安裝軟體,以及如何卸載它
詳解如何用源代碼安裝軟體,以及如何卸載它
Linux發行版的一大優勢在於包管理器和相關軟體庫,它們能提供自動化下載和安裝軟體的方式。然而,對於特定版本或自定義需求,從源代碼安裝軟體仍是必要的。這篇文章將指導你完成從Linux系統中使用源代碼安裝程序,以及如何卸載這些程序。
在開始之前,首先需要了解包維護者可能無法提供所有可用軟體的編譯版本。因此,當遇到特定版本或自定義需求時,從源代碼編譯軟體成為了一種常見做法。對於多數Linux用戶來說,初次接觸源代碼編譯可能感覺有些復雜,但一旦掌握,你將能進入更深入的軟體定製世界。
以安裝NodeJS 8.1.1為例,本文將詳細介紹此過程。NodeJS的源代碼可在GitHub上的github.com/nodejs/node找到。
步驟1:獲取源代碼
直接從GitHub下載NodeJS 8.1.1版本的源代碼。對於熟悉Git和版本管理的用戶,推薦使用Git工具下載源代碼。如果你更習慣於圖形界面工具,使用ZIP文件同樣可行。
步驟2:理解構建系統
構建系統負責編譯源代碼以生成可執行程序。NodeJS使用GNU風格的構建系統,其核心工具是configure和make。configure腳本檢查系統配置並確保項目可以構建,而make工具則執行構建指令。
步驟3:使用文件系統層次化標准(FHS)
在Linux系統中,大部分遵循FHS標准來組織文件目錄。對於從源代碼安裝的軟體,推薦將它們安裝在"/opt"目錄下,以避免與系統軟體包發生沖突,並便於管理。
在源代碼編譯過程中,可能出現各種錯誤。文章將通過實際操作,在Debian 9.0和CentOS 7.0系統上演示如何診斷並解決常見的編譯問題。
從源代碼安裝軟體後,你可以根據需要對其進行修改。以NodeJS為例,文章將指導你如何在源代碼中進行微小的修改,並驗證修改是否已納入編譯版本。
安裝完軟體後,通常需要通過絕對路徑啟動它。但更簡單的方法是將軟體添加到PATH環境變數中,或創建符號鏈接到常用路徑。
卸載從源代碼安裝的軟體只需刪除安裝目錄,如"/opt/node-v8.1.1"。確保在操作前正確清理PATH環境變數,避免可能的依賴問題。
編譯軟體時,可能會遇到依賴地獄的情況,即需要先編譯前提條件所需的庫,這些庫又可能依賴其他不兼容的庫。這通常是軟體包維護者需要解決的問題。在本文示例中,NodeJS的依賴已預置在源代碼中,無需額外處理。
通過遵循上述步驟,你可以熟練掌握從源代碼安裝和管理軟體的技能。如果你對特定主題或更深入的討論感興趣,請在評論區分享,以便共同探討。