RPM
RPM 套件封裝
本指南涵蓋如何發佈和管理 RPM 套件,包括檢索套件資訊、設定腳本、設定依賴項和簽署套件。
設定 RPM 套件
Tauri 允許您通過新增腳本、設定依賴項、新增授權條款、包含自訂檔案等方式來設定 RPM 套件。有關可設定選項的詳細資訊,請參閱:RpmConfig。
將 post、pre-install/remove 腳本新增至套件
RPM 套件管理器允許您在套件安裝或移除之前或之後運行腳本。例如,您可以使用這些腳本在套件安裝後啟動服務。
以下是如何新增這些腳本的範例
- 在您專案的
src-tauri
目錄中建立一個名為scripts
的資料夾。
mkdir src-tauri/scripts
- 在資料夾中建立腳本檔案。
touch src-tauri/scripts/postinstall.sh \touch src-tauri/scripts/preinstall.sh \touch src-tauri/scripts/preremove.sh \touch src-tauri/scripts/postremove.sh
現在,如果我們查看 /src-tauri/scripts
內部,我們將看到
ls src-tauri/scripts/postinstall.sh postremove.sh preinstall.sh preremove.sh
- 將一些內容新增到腳本
echo "-------------"echo "This is pre"echo "Install Value: $1"echo "Upgrade Value: $1"echo "Uninstall Value: $1"echo "-------------"
echo "-------------"echo "This is post"echo "Install Value: $1"echo "Upgrade Value: $1"echo "Uninstall Value: $1"echo "-------------"
echo "-------------"echo "This is preun"echo "Install Value: $1"echo "Upgrade Value: $1"echo "Uninstall Value: $1"echo "-------------"
echo "-------------"echo "This is postun"echo "Install Value: $1"echo "Upgrade Value: $1"echo "Uninstall Value: $1"echo "-------------"
- 將腳本新增到
tauri.conf.json
檔案
{ "bundle": { "linux": { "rpm": { "epoch": 0, "files": {}, "release": "1", // add the script here "preInstallScript": "/path/to/your/project/src-tauri/scripts/prescript.sh", "postInstallScript": "/path/to/your/project/src-tauri/scripts/postscript.sh", "preRemoveScript": "/path/to/your/project/src-tauri/scripts/prescript.sh", "postRemoveScript": "/path/to/your/project/src-tauri/scripts/postscript.sh" } } }}
設定 Conflict、Provides、Depends、Files、Obsoletes、DesktopTemplate 和 Epoch
-
conflict:防止在套件與另一個套件衝突時安裝套件。 例如,如果您更新應用程式依賴的 RPM 套件,並且新版本與您的應用程式不兼容。
-
provides:列出您的應用程式提供的 RPM 依賴項。
-
depends:列出您的應用程式運行所需的 RPM 依賴項。
-
files:指定要包含在套件中的檔案。
-
obsoletes:列出您的應用程式取代的 RPM 依賴項。
-
desktopTemplate:將自訂桌面檔案新增到套件。
-
epoch:根據版本號定義加權依賴項。
要使用這些選項,請將以下內容新增到您的 tauri.conf.json
中
{ "bundle": { "linux": { "rpm": { "postRemoveScript": "/path/to/your/project/src-tauri/scripts/postscript.sh", "conflicts": ["oldLib.rpm"], "depends": ["newLib.rpm"], "obsoletes": ["veryoldLib.rpm"], "provides": ["coolLib.rpm"], "desktopTemplate": "/path/to/your/project/src-tauri/desktop-template.desktop" } } }}
將授權條款新增至套件
要將授權條款新增到套件,請將以下內容新增到 src-tauri/cargo.toml
或 src-tauri/tauri.conf.json
檔案中
[package]name = "tauri-app"version = "0.0.0"description = "A Tauri App"authors = ["you"]edition = "2021"license = "MIT" # add the license here# ... rest of the file
以及對於 src-tauri/tauri.conf.json
{ "bundle": { "licenseFile": "../LICENSE", // put the path to the license file here "license": "MIT" // add the license here }}
建置 RPM 套件
要建置 RPM 套件,您可以使用以下命令
npm run tauri build
yarn tauri build
pnpm tauri build
deno task tauri build
cargo tauri build
此命令將在 src-tauri/target/release/bundle/rpm
目錄中建置 RPM 套件。
簽署 RPM 套件
Tauri 允許您在使用系統中的金鑰進行建置過程中簽署套件。 為此,您需要生成 GPG 金鑰。
生成 GPG 金鑰
要生成 GPG 金鑰,您可以使用以下命令
gpg --gen-key
按照說明生成金鑰。
生成金鑰後,您需要將其新增到您的環境變數中。 您可以通過將以下內容新增到您的 .bashrc 或 .zshrc 檔案中,或者只是在終端機中導出它來做到這一點
export TAURI_SIGNING_RPM_KEY=$(cat /home/johndoe/my_super_private.key)
如果您的金鑰有密碼,您可以將其新增到環境變數中
export TAURI_SIGNING_RPM_KEY_PASSPHRASE=password
現在您可以使用以下命令建置套件
npm run tauri build
yarn tauri build
pnpm tauri build
deno task tauri build
cargo tauri build
驗證簽章
在驗證簽章之前,您需要建立公鑰並將其導入到 RPM 資料庫
gpg --export -a 'Tauri-App' > RPM-GPG-KEY-Tauri-App
sudo rpm --import RPM-GPG-KEY-Tauri-App
現在金鑰已導入,我們必須編輯 ~/.rpmmacros
檔案以使用金鑰。
%_signature gpg%_gpg_path /home/johndoe/.gnupg%_gpg_name Tauri-App%_gpgbin /usr/bin/gpg2%__gpg_sign_cmd %{__gpg} \ gpg --force-v3-sigs --digest-algo=sha1 --batch --no-verbose --no-armor \ --passphrase-fd 3 --no-secmem-warning -u "%{_gpg_name}" \ -sbo %{__signature_filename} %{__plaintext_filename}
最後,您可以使用以下命令驗證套件
rpm -v --checksig tauri-app-0.0.0-1.x86_64.rpm
除錯 RPM 套件
在本節中,我們將了解如何通過檢查套件的內容和獲取關於套件的資訊來除錯 RPM 套件。
取得關於套件的資訊
要獲取關於您的套件的資訊,例如版本、發行版本和架構,請使用以下命令
rpm -qip package_name.rpm
查詢關於套件的特定資訊
例如,如果您想獲取套件的名稱、版本、發行版本、架構和大小,請使用以下命令
rpm -qp --queryformat '[%{NAME} %{VERSION} %{RELEASE} %{ARCH} %{SIZE}\n]' package_name.rpm
檢查套件的內容
要檢查套件的內容,請使用以下命令
rpm -qlp package_name.rpm
此命令將列出套件中包含的所有檔案。
除錯腳本
要除錯 post/pre-install/remove 腳本,請使用以下命令
rpm -qp --scripts package_name.rpm
此命令將印出腳本的內容。
檢查依賴項
要檢查套件的依賴項,請使用以下命令
rpm -qp --requires package_name.rpm
列出依賴於特定套件的套件
要列出依賴於特定套件的套件,請使用以下命令
rpm -q --whatrequires package_name.rpm
除錯安裝問題
如果您在安裝 RPM 套件期間遇到問題,您可以使用 -vv
(非常詳細)選項來獲取詳細輸出
rpm -ivvh package_name.rpm
或者對於已安裝的套件
rpm -Uvvh package_name.rpm
© 2025 Tauri 貢獻者。CC-BY / MIT