萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 軟體安裝三大流派完整比較:原始碼編譯、RPM/YUM、DPKG/APT

Linux 軟體安裝方式依發行版族群分為三大體系,各有優缺點與適用場景。理解其運作機制,能選擇最適合的部署策略。

1. 原始碼編譯安裝 (Source Compile) — 最基礎、最彈性

./configure [選項]  # 檢查環境、生成 Makefile,常用 --prefix=/usr/local/軟體名
make                # 編譯原始碼
make install        # 安裝到系統 (需 root)
  • 檔案副檔名:.tar.gz, .tar.bz2, .tar.xz (原始碼套件)。
  • 優點:可自訂編譯參數、最佳化針對 CPU 指令集、安裝任意版本、無相依性地獄 (自行解決)。
  • 缺點:需安裝編譯工具鏈 (gcc, make, autotools)、編譯耗時、手動處理相依套件、升級/移除需保留原始碼目錄或手動追蹤檔案。
  • 適用:無預編譯套件、需客製化功能、嵌入式/高效能優化場景。

2. RPM 套件管理 (Red Hat 族群) — 預編譯二進制套件

  • 全名:Red Hat Package Manager。
  • 檔案副檔名:.rpm (二進制套件)、.src.rpm (原始碼套件,SRPM)。
  • 核心指令:rpm -i 安裝, -e 移除, -U 升級, -q 查詢, -V 驗證。
  • 特點:套件內含檔案清單、相依性資訊、安裝/移除腳本;資料庫位於 /var/lib/rpm。
  • 痛點:相依性地獄 —— rpm -i 遇缺少相依套件會失敗,需手動先裝相依套件。

3. YUM 高階套件管理器 (解決 RPM 相依性) — 自動解析相依

  • 原理:以儲存庫為基礎,自動下載並安裝目標套件及所有相依套件。
  • 核心指令:yum install/remove/update/search/info 套件名。
  • 儲存庫設定:/etc/yum.repos.d/*.repo 定義遠端/本地儲存庫來源。
  • 本質:前端工具,後端仍呼叫 rpm 執行實際安裝。

4. Debian/Ubuntu 族群:DPKG + APT

層級工具檔案副檔名核心指令
底層dpkg.debdpkg -i 安裝, -r 移除, -l 列出
高層APT (apt-get / apt).deb (從儲存庫)apt install/remove/update/upgrade/search/show
  • APT 自動解析相依性,從設定的儲存庫 (/etc/apt/sources.list, /etc/apt/sources.list.d/) 下載安裝。
  • apt 為較新的高層介面,輸出更友善,建議優先使用。

族群對照表

發行版族群代表發行版底層套件高層管理器
Red Hat 系RHEL, CentOS, Fedora, Rocky, AlmaLinuxRPM (.rpm)YUM / DNF (Fedora 22+)
Debian 系Debian, Ubuntu, Linux Mint, KaliDPKG (.deb)APT (apt-get / apt)
SUSE 系openSUSE, SLESRPM (.rpm)Zypper
Arch 系Arch, Manjaropacman (.pkg.tar.zst)pacman (整合底層/高層)
Gentoo 系Gentoo原始碼 (ebuild)Portage (emerge)

選擇建議

  • **生產環境穩定優先**:使用發行版官方儲存庫的高層管理器 (yum/dnf/apt/zypper/pacman)。
  • **需要最新版/特定版本**:啟用第三方儲存庫 (EPEL, PPA, Copr) 或使用 Flatpak/Snap/AppImage 通用套件格式。
  • **極致效能/客製化**:原始碼編譯 (Gentoo 風格)。
  • **容器化部署**:Dockerfile 中使用套件管理器安裝,或直接複製預編譯二進制檔。
copyright © 萬盛學電腦網 all rights reserved