私はLinuxパッケージを初めて使用しています。私はプログラムをdeb
とrpm
パッケージに梱包しています。私は助けにfpmを使用しています。私は、設定ファイルが自動的に更新されるように、インストール終了時にAPIキーを入力する必要があります。rpmパッケージに--after-installを指定してrpmを作成するとエラーが発生します
#!/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
フラグを使用しています:私はこの部分が含まれているblah.postinst
ファイルを持っています。
これはdeb
パッケージのために動作しますが、私はrpm
パッケージを作成し、それをインストールしようとするFPMを使用した後、ライン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
セクションに収まりますが、何が問題になるか分かりません。誰でもこれを助けることができますか?あるいは、少なくとも私はどのようにこれをデバッグするのですか?ありがとう。
涼しいですが、それをよく知っている人からの声があるのは常に良いことです。 –