| 操作 | 命令 | 說明 |
|---|---|---|
| 安裝 | rpm -ivh package.rpm | -i安裝 -v詳情 -h進度條 |
| 升級 | rpm -Uvh package.rpm | 不存在則安裝,存在則升級 |
| 查詢已安裝 | rpm -q package | 查詢是否安裝及版本 |
| 查詢檔案歸屬 | rpm -qf /path/to/file | 反查檔案屬於哪個包 |
| 列出包內容 | rpm -ql package | 不安裝只看檔案清單 |
| 驗證包完整性 | rpm -V package | 對比檔案大小、權限、MD5 |
| 刪除 | rpm -e package | 僅用包名,非檔名 |
| 強制刪除 | rpm -e --nodeps package | 忽略依賴(慎用) |
# 推薦使用 yum/dnf 自動解決依賴
yum install package_name
dnf install package_name
# 離線環境:創建本地 yum 源
createrepo /path/to/rpms
# 配置 /etc/yum.repos.d/local.repo
# 1. 解壓
tar -zxvf package.tar.gz
cd package-version
# 2. 閱讀文檔
cat README INSTALL
# 3. 配置(檢查依賴、指定安裝路徑)
./configure --prefix=/usr/local/package
# 4. 編譯
make -j$(nproc)
# 5. 安裝(需 root)
make install
# 6. 環境變數
echo 'export PATH=/usr/local/package/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
| 參數 | 作用 |
|---|---|
--prefix=PATH | 安裝根目錄(預設 /usr/local) |
--sysconfdir=PATH | 配置檔目錄(預設 /usr/local/etc) |
--enable-xxx | 啟用可選功能 |
--disable-xxx | 禁用功能 |
--with-xxx=PATH | 指定依賴庫路徑 |
cd package-source-dir
make uninstall # 需保留源碼目錄,且 Makefile 支援 uninstall 目標
若不支援,需手動刪除 --prefix 下對應檔案。
# 方法一:tar 直接支援(現代版本)
tar -jxvf package.tar.bz2
# 或自動識別
tar -xvf package.tar.bz2
# 方法二:bunzip2 兩步走
bunzip2 package.tar.bz2 # 生成 package.tar
tar -xvf package.tar
後續編譯安裝流程與 Tar.gz 完全一致。
| 維度 | RPM | Tar.gz / Tar.bz2 |
|---|---|---|
| 安裝速度 | 極快(預編譯) | 慢(需編譯) |
| 依賴處理 | 自動(配合 yum/dnf) | 手動 |
| 定制化 | 低(固定編譯選項) | 高(configure 參數) |
| 版本新舊 | 較舊(倉庫版本) | 最新(官網發布) |
| 卸載乾淨度 | 高(資料庫管理) | 視 Makefile 而定 |
| 適用場景 | 生產環境、標準化部署 | 開發測試、特定版本、功能定制 |
# RHEL/CentOS 7/8/9, Rocky, AlmaLinux
dnf install package_name
# Fedora
dnf install package_name
# Ubuntu/Debian
apt install package_name
# openSUSE
zypper install package_name
# Arch
pacman -S package_name
僅在以下情況考慮原始碼安裝: