萬盛學電腦網

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

Linux 軟體安裝入門:三大套件格式(tar/rpm/deb)深度解析

初接觸 Linux 的使用者最困惑的往往是「軟體怎麼裝?裝哪去了?怎麼砍掉?」。Windows 的「下一步、下一步、完成」直覺模式在 Linux 不存在,取而代之的是三大主流套件格式與對應的管理機制。本文系統拆解 tarball、RPM、DEB 三大格式的特性、命名慣例與操作指令,建立清晰的軟體管理認知框架。

一、三大套件格式總覽

格式典型副檔名發源發行版核心特性管理工具
tarball (源碼/二進制打包).tar.gz, .tar.bz2, .tar.xz, .tgz通用 (Slackware、Arch、Gentoo 等)無資料庫、無相依解析、需手動編譯或解壓、最高彈性tar, make, checkinstall, src2pkg
RPM (Red Hat Package Manager).rpmRed Hat、Fedora、CentOS、openSUSE、Mageia二進制預編譯、內建相依關係、資料庫追蹤、支援簽名驗證rpm, dnf, yum, zypper
DEB (Debian Package).debDebian、Ubuntu、Linux Mint、Kali、Deepin二進制預編譯、相依解析最成熟、控制檔靈活、支援觸發器dpkg, apt, aptitude, synaptic

二、統一命名慣例

幾乎所有 Linux 套件遵循統一命名規範:

軟體名稱-版本號-修訂號-架構.格式

實例拆解

  • nginx-1.24.0-1.el9.x86_64.rpm
    名稱:nginx | 版本:1.24.0 | 修訂:1 (第 1 次打包) | 發行版:el9 (RHEL 9) | 架構:x86_64 | 格式:rpm
  • vim_9.0.1234-1ubuntu2.2_amd64.deb
    名稱:vim | 版本:9.0.1234 | 修訂:1ubuntu2.2 (Ubuntu 第 2 次重建) | 架構:amd64 | 格式:deb
  • ffmpeg-6.0.tar.xz
    純源碼釋出,無發行版修訂號,直接對應上游版本號。

版本號語義化

主版本.次版本.修訂版本 (Major.Minor.Patch),如 2.4.7:

  • 主版本:架構重大變更,可能不相容
  • 次版本:新增功能,向下相容
  • 修訂版本:修復錯誤,無新功能

三、核心操作指令速查

1. RPM 系統 (RHEL/Fedora/CentOS/openSUSE)

# 查詢已安裝套件
rpm -qa | grep nginx
rpm -qi nginx                # 詳細資訊
rpm -ql nginx                # 檔案清單
rpm -qf /etc/nginx/nginx.conf # 反查檔案屬於哪個套件

# 安裝/升級/移除 (推薦使用 dnf/yum 自動解決相依)
dnf install nginx
dnf upgrade nginx
dnf remove nginx

# 低階 rpm 指令 (不解決相依)
rpm -ivh nginx-1.24.rpm      # 安裝
rpm -Uvh nginx-1.24.rpm      # 升級
rpm -e nginx                 # 移除

# 驗證套件完整性
rpm -V nginx                 # 比對檔案屬性
rpm --checksig nginx-1.24.rpm # 驗證 GPG 簽名

2. DEB 系統 (Debian/Ubuntu/Mint)

# 查詢
dpkg -l | grep nginx
dpkg -L nginx                # 檔案清單
dpkg -S /etc/nginx/nginx.conf # 反查

# 高階 apt (推薦)
apt update
apt install nginx
apt upgrade nginx
apt remove nginx
apt purge nginx              # 連同配置檔一併刪除

# 低階 dpkg
dpkg -i nginx_1.24_amd64.deb
dpkg -r nginx
dpkg -P nginx                # 完全移除

3. Tarball 通用流程

# 解壓
tar -xvf software-1.2.3.tar.gz
cd software-1.2.3

# 標準三部曲 (GNU Autotools)
./configure --prefix=/usr/local
make
sudo make install            # 或使用 checkinstall 生成 rpm/deb 再安裝

# 非標準建構系統 (CMake, Meson, Cargo 等)
cmake -B build -DCMAKE_INSTALL_PREFIX=/usr/local
cmake --build build
sudo cmake --install build

四、進階議題:跨格式轉換與第三方倉庫

  • alien:alien -r package.deb (deb→rpm)、alien -d package.rpm (rpm→deb),僅限二進制相容場景,生產環境慎用。
  • Flatpak / Snap / AppImage:跨發行版沙箱格式,解決庫相依地獄,適合桌面應用,伺服器端較少用。
  • 第三方倉庫:EPEL (RHEL)、PPA (Ubuntu)、Copr (Fedora)、OBS (openSUSE),提供官方倉庫缺失的新版本軟體。

五、總結

理解三大格式的設計哲學——tarball 給開發者最大自由、RPM 給企業穩定相依管理、DEB 給社群最強相依解析——並熟練對應高階工具 (dnf/apt) 與低階指令 (rpm/dpkg),即能在任何 Linux 發行版上輕鬆掌控軟體生命週期。

copyright © 萬盛學電腦網 all rights reserved