我是linux包裝新手,所以我可能會丟失一些明顯的東西。我正在打包我的程序到deb
和rpm
包,我使用fpm來幫助我。我需要人們在安裝結束時輸入他們的API密鑰,以便配置文件可以自動更新。我有一個blah.postinst
文件,其中包含此部分:使用fpm創建rpm包--after-install會給出錯誤
#!/bin/bash
set -e
read -p 'Please enter your API key(skip this step by just press ENTER): ' apikey_var
if [[ ! -z $apikey_var ]]
then
echo "The API key is set. You could always change it by editing /etc/agent/process-collector.ini file"
sed "s/sample_apikey/$apikey_var/" /etc/agent/process-collector.ini.example > /etc/agent/process-collector.ini
else
echo "You didn't enter any API key, you could always add it by editing /etc/agent/process-collector.ini file"
mv /etc/agent/process-collector.ini.example /etc/agent/process-collector.ini
fi
和我使用FPM的--after-install
標誌包括此腳本。
這適用於deb
包,但之後我用FPM創建rpm
包並嘗試安裝它,行read -p 'Please enter your API key(skip this step by just press ENTER): ' apikey_var
(我認爲)產生錯誤:
warning: %post(process-agent-0.99.0-1.x86_64) scriptlet failed, exit status 1
Non-fatal POSTIN scriptlet failure in rpm package dd-process-agent-0.99.0-1.x86_64
我會想象在blah.postinst
代碼如果我手動創建一個rpm包,那麼腳本就會適合spec
文件的%post
部分,但我無法弄清楚會出現什麼問題。有人可以幫助嗎?或者至少我該如何調試呢?謝謝。
很酷,來自熟悉它的人的聲音總是很好。 –