Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Ubuntu Linux 從源碼編譯安裝軟件完整指南:依賴解決、配置參數與卸載管理

編輯:Linux 教學

前言

Ubuntu 軟件倉庫雖豐富,但最新版本、特定編譯選項或未收錄軟件仍需從源碼安裝。本文系統講解 標準三步走 (configure → make → make install) 流程、依賴處理、安裝路徑控制與卸載管理,助你掌握通用 Linux 源碼部署技能。

一、安裝編譯工具鏈

sudo apt-get update
sudo apt-get install build-essential

build-essential 包含:gcc, g++, make, dpkg-dev, libc6-dev 等核心工具。

二、下載與解壓源碼

# 下載 (以 wget 為例)
wget https://example.com/software-1.2.3.tar.gz

# 解壓
tar xvzf software-1.2.3.tar.gz
cd software-1.2.3/

必讀檔案:README、INSTALL、CHANGELOG — 開發者權威安裝指引。

三、標準安裝三部曲

1. 配置 (./configure)

./configure --help          # 查看所有可選參數
./configure --prefix=/opt/software-1.2.3  # 指定安裝路徑 (推薦隔離管理)
# 或保留預設 /usr/local
./configure

核心作用:
✅ 檢測依賴庫 (頭文件 + 庫文件)
✅ 生成 Makefile 與 config.h
✅ 設定安裝路徑 (--prefix)、啟用/禁用功能模組

依賴缺失處理:
報錯 checking for xxx... no → 安裝對應 開發包 (-dev):

apt-cache search xxx | grep dev
sudo apt-get install libxxx-dev

重複執行 ./configure 直至無錯誤。

2. 編譯 (make)

make -j$(nproc)  # 並行編譯,加速多核 CPU

常見錯誤:
❌ 語法錯誤/API 變更 → 檢查 GCC 版本相容性、套用補丁
❌ 缺少符號 → 依賴庫版本不匹配,檢查 config.log
💡 求助專案 Mailing List / GitHub Issues,提交詳細編譯日誌。

3. 安裝 (sudo make install)

sudo make install

預設寫入 /usr/local/{bin,lib,include,share},需 root 權限。
若使用 --prefix=/opt/xxx,則寫入該目錄,無需 sudo (目錄擁有者為當前用戶)。

四、卸載與更新

cd /path/to/source
sudo make uninstall  # 需源碼目錄保留且 Makefile 支持

局限:部分專案無 uninstall 目標。建議:

  • 使用 checkinstall 生成 .deb 包管理:sudo checkinstall
  • 或採用 stow/xstow 符號鏈接管理多版本共存。

五、進階技巧

1. 靜態編譯 (減少依賴)

./configure LDFLAGS="-static" CFLAGS="-static" --prefix=/opt/static-build

注意:glibc 不建議完全靜態鏈接 (NSS、DNS 解析需動態庫)。

2. 交叉編譯

./configure --host=arm-linux-gnueabihf --prefix=/opt/arm-build
# 需對應交叉工具鏈與 sysroot

3. 多版本並行 (stow 方案)

./configure --prefix=/usr/local/stow/software-1.2.3
sudo make install
cd /usr/local/stow
sudo stow software-1.2.3  # 在 /usr/local/bin 建立符號鏈接
# 切換版本:stow -D software-1.2.3 && stow software-1.2.4

六、總結:源碼安裝最佳實踐清單

  1. 優先檢查 apt-cache policy / PPA / Snap / Flatpak 是否有合適版本。
  2. 安裝 build-essential 及 checkinstall。
  3. 閱讀 README/INSTALL,確認依賴與授權條款。
  4. 使用 --prefix 隔離安裝,避免污染系統目錄。
  5. 編譯前 make clean 或 make distclean 確保乾淨狀態。
  6. 保留源碼目錄 (或打包) 以便未來卸載/升級。
  7. 記錄配置參數、環境變數、編譯日誌,便於複現與除錯。

結語

源碼編譯安裝是 Linux 使用者進階必備技能。掌握 configure/make/install 標準流程、依賴包 (-dev) 解決套路、--prefix 隔離策略與 checkinstall/stow 管理工具,即可輕鬆駕馭任何開源專案的部署與維護。

Copyright © Windows教程網 All Rights Reserved