Fedora RPM 套件管理與設定指南
RPM(Red Hat Package Manager)是 Fedora、RHEL(Red Hat Enterprise Linux) 和 CentOS 使用的軟體套件管理系統。本指南將介紹 RPM 套件的安裝、管理、查詢與簽名驗證方法。
目錄
確認 RPM 版本
檢查 RPM 是否已安裝,以及版本資訊:
rpm --version
安裝 RPM 套件
1. 直接從 .rpm
檔案安裝
若已下載 .rpm
安裝檔,使用以下指令安裝:
sudo rpm -ivh package.rpm
參數說明:
-i
:安裝套件(install)-v
:顯示詳細訊息(verbose)-h
:顯示安裝進度(hash)
2. 使用 dnf
安裝 RPM 套件(推薦)
dnf
會自動處理相依性,比 rpm
更方便:
sudo dnf install ./package.rpm
建議:若 RPM 套件有多個依賴項,請使用
dnf
來解決相依性問題。
查詢已安裝的 RPM 套件
1. 列出所有已安裝的 RPM 套件
rpm -qa
2. 查詢特定套件是否已安裝
rpm -q package-name
3. 查看已安裝套件的詳細資訊
rpm -qi package-name
4. 查詢套件安裝的所有檔案
rpm -ql package-name
5. 檢查某個檔案屬於哪個 RPM 套件
rpm -qf /usr/bin/htop
移除 RPM 套件
若要刪除已安裝的套件,可使用:
sudo rpm -e package-name
或使用 dnf
(推薦):
sudo dnf remove package-name
下載 RPM 套件但不安裝
有時候我們需要下載 .rpm
檔案但不立即安裝,可使用:
dnf download package-name
下載後,可使用 rpm
或 dnf
來安裝。
驗證 RPM 套件簽名
在安裝 RPM 之前,建議先驗證其簽名,確保來源安全。
1. 取得 RPM 套件的 GPG 簽名資訊
rpm -qpi package.rpm | grep "Signature"
2. 驗證 RPM 簽名是否正確
rpm --checksig package.rpm
若顯示 OK
,代表簽名有效。
手動建置 RPM 套件
1. 安裝 rpm-build
sudo dnf install -y rpm-build
2. 建立 RPM 開發目錄
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
3. 編寫 .spec
檔案
在 ~/rpmbuild/SPECS
內建立 .spec
,例如:
Name: mypackage
Version: 1.0
Release: 1%{?dist}
Summary: This is a test package
License: GPL
Source0: mypackage-1.0.tar.gz
%description
This is a sample RPM package.
%prep
%setup -q
%build
make
%install
make install DESTDIR=%{buildroot}
%files
/usr/bin/mypackage
%changelog
4. 編譯 RPM 套件
rpmbuild -ba ~/rpmbuild/SPECS/mypackage.spec
生成的 .rpm
會放在 ~/rpmbuild/RPMS/x86_64/
內。
結語
本指南介紹了 RPM 套件的安裝、管理、查詢與驗證方法,並說明了如何手動建置 RPM 套件。建議使用 dnf
來安裝 RPM 套件,以確保所有相依性能夠自動解決,避免手動安裝失敗的問題。