Windows 僅需雙擊 .exe,Linux 卻面臨 RPM、DEB、源碼包、二進制腳本、AppImage、Flatpak、Snap 等多種格式。這源於開源生態的多樣性與分發自主權,掌握核心格式操作,才能游刃有餘。
rpm -ivh package.rpm # 安裝 (-i) + 詳盡 (-v) + 進度條 (-h)
rpm -q package_name # 查詢是否已安裝
rpm -ql package_name # 列出安裝文件
rpm -qi package_name # 顯示包信息 (版本、描述、大小...)
rpm -Uvh package.rpm # 升級 (不存在則安裝)
rpm -e package_name # 卸載 (注意:包名非文件名,無版本號)
rpm -e --nodeps package_name # 強制卸載 (忽略依賴,慎用!)
避坑:依賴地獄 — 手動下載依賴 RPM 鏈式安裝;優先用 dnf/yum 自動解決依賴。
dpkg -i package.deb # 安裝
dpkg -l | grep keyword # 查詢
dpkg -L package_name # 列出文件
dpkg -r package_name # 卸載 (保留配置)
dpkg -P package_name # 徹底清除 (含配置)
# 依賴修復
apt-get install -f
最佳實踐:日常請用 apt/aptitude 而非裸 dpkg,自動處理依賴與倉庫同步。
tar -xzf package.tar.gz # 解壓 (-x) + gzip (-z) + 詳盡 (-v) + 文件 (-f)
# .tar.bz2 用 -j;.tar.xz 用 -J
cd package/
./configure --prefix=/usr/local/package # 配置安裝路徑、啟用/禁用特性
make # 編譯 (可加 -j$(nproc) 並行加速)
sudo make install # 安裝 (需 root 權限寫入 /usr/local 等)
make clean # 清理編譯中間文件 (可選)
INSTALL/README:非標準構建系統、特殊依賴、環境變量要求均在其中。configure 失敗多因缺 -dev 包 (頭文件/靜態庫) — 如 libssl-dev、zlib1g-dev、python3-dev。sudo make uninstall (需 Makefile 支援);否則手動 rm 依據 make install 輸出或 install_manifest.txt 刪除 — 極易殘留。./lumaqq,無需編譯安裝。chmod +x install.sh
./install.sh # 可能內含下載、解壓、依賴檢查、服務註冊
./uninstall.sh # 反向清理
優點:跨發行版、自動化程度高;缺點:黑盒、難審計、可能修改系統關鍵配置 — **生產環境先在測試機運行並審查腳本內容**。
| 格式 | 特點 | 適用場景 |
|---|---|---|
| AppImage | 單文件、無需安裝、FUSE 掛載運行、無沙箱 | 桌面應用快速分發、便攜運行 |
| Flatpak | 沙箱隔離、Flatpak Runtime 共享、Flathub 倉庫 | 桌面端、需隔離的應用 |
| Snap | 沙箱、自動更新、Snap Store、Ubuntu 主推 | 伺服器/桌面、IoT、自動更新需求強 |
dnf/apt/zypper/pacman — 經測試、安全更新自動推送、依賴完美解決。包管理器是 Linux 系統穩定性的基石。**「能用包管理器解決的,絕不手動編譯;必須編譯的,請打包成 RPM/DEB 再安裝」** — 這句鐵律能為你省去無數個通宵排故的夜晚。