저는 리눅스 패키지를 처음 사용하기 때문에 확실하지 않은 것이 있습니다. 내 프로그램을 deb
및 rpm
패키지에 포장하고 있으며 fpm을 사용하고 있습니다. 사람들이 설치가 끝날 때 API 키를 입력해야 구성 파일이 자동으로 업데이트 될 수 있습니다.--after-install을 사용하여 fpm을 사용하여 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
섹션에 맞을 것입니다.하지만 잘못 될 수있는 것이 무엇인지 파악할 수 없습니다. 아무도 이것에 도움이 될 수 있습니까? 아니면 적어도 어떻게 이것을 디버깅합니까? 감사.
멋지다. 잘 아는 사람들의 목소리를 듣는 것이 좋습니다. –