萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 電腦入門

Linux 軟體安裝通用思路:原始碼編譯與 RPM/DEB 套件管理全攻略

Linux 軟體安裝兩大主流:原始碼編譯安裝與預編譯套件管理。理解核心邏輯,換發行版、換架構都能舉一反三。

一、原始碼編譯安裝:標準三部曲

  1. 解壓: tar -xzvf package.tar.gz(.tgz/.tar.gz)或 tar -xjvf package.tar.bz2(.tbz2)或 tar -xJvf package.tar.xz(.txz)。
  2. 進入目錄檢查: cd package-name → ls 看有無 configure、Makefile、CMakeLists.txt、meson.build、README/INSTALL。
  3. 配置/建構/安裝:
    • Autotools (configure): ./configure --prefix=/usr/local → make → sudo make install
    • CMake: mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local → make → sudo make install
    • Meson: meson setup build --prefix=/usr/local → ninja -C build → sudo ninja -C build install
    • 僅有 Makefile: make → sudo make install(需自行確認 PREFIX)。
  4. 動態連結庫快取更新: sudo ldconfig(安裝庫檔後必做)。
  5. 驗證: which command、command --version、ldd $(which command) 檢查依賴。

常見編譯錯誤與解決

錯誤原因解決
gcc: command not found / g++: not found缺編譯器sudo apt install build-essential (Debian/Ubuntu) / sudo dnf install gcc gcc-c++ make (RHEL/Fedora) / sudo pacman -S base-devel (Arch)
make: command not found缺 make同上安裝 build-essential / base-devel / development tools
autoconf: not found / automake: not found缺自動化工具sudo apt install autoconf automake libtool 等
configure: error: Package requirements (xxx) not met缺依賴庫開發套件安裝對應 -devel / -dev 套件,如 libssl-dev、zlib1g-dev、python3-dev;或設定 PKG_CONFIG_PATH
fatal error: xxx.h: No such file缺標頭檔同上,安裝開發套件

二、套件管理器安裝:二進制預編譯,快速乾淨

發行版系列套件格式管理工具常用指令
Debian/Ubuntu/Kali/Mint.debAPT / dpkgapt update && apt install pkg / dpkg -i pkg.deb
RHEL/CentOS/Fedora/Rocky/Alma.rpmDNF / YUM / RPMdnf install pkg / rpm -ivh pkg.rpm
openSUSE.rpmZypper / RPMzypper in pkg
Arch/Manjaro/EndeavourOS.pkg.tar.zstPacmanpacman -S pkg
Gentooebuild (源碼)Portageemerge pkg
Alpine.apkapkapk add pkg

RPM 進階操作

  • 安裝:rpm -ivh pkg.rpm(-i install, -v verbose, -h hash progress)
  • 升級:rpm -Uvh pkg.rpm(不存在則安裝)
  • 移除:rpm -e pkg-name(不帶 .rpm 後綴)
  • 查詢套件資訊:rpm -qip pkg.rpm(未安裝檔案資訊)、rpm -qi pkg-name(已安裝資訊)
  • 查詢檔案歸屬:rpm -qf /path/to/file
  • 列出套件檔案:rpm -qlp pkg.rpm / rpm -ql pkg-name
  • 驗證完整性:rpm -V pkg-name

依賴地獄解決:用套件管理器而非手動 rpm

dnf install pkg.rpm / apt install ./pkg.deb / zypper in pkg.rpm 會**自動解析並安裝依賴**,單純 rpm -i / dpkg -i 會報依賴錯誤需手動逐一解決。

通用建議

  1. 優先使用發行版官方倉庫/套件管理器:安全、穩定、自動更新、依賴解析。
  2. 官方無/版本太舊 → 第三方倉庫(PPA、Copr、AUR、Flatpak、Snap、AppImage)。
  3. 極少數無套件/需客製化 → 原始碼編譯,建議用 checkinstall / fpm 製作成套件管理,方便日後移除升級。
  4. 開發環境隔離:Docker/Podman 容器、虛擬環境、Nix/Guix 可復現構建。

掌握「編譯三部曲」與「套件管理器常用指令」,Linux 軟體安裝不再是攔路虎!

copyright © 萬盛學電腦網 all rights reserved