나는 5.4 모노 여기에서 절차를 사용하여 레드햇 (6)에 설치되어 :RPM 스크립 실패 6
http://www.mono-project.com/download/#download-lin-centos
나는 prein와 매우 간단한 RPM을 만들어가 FPM를 사용하여 스크립틀릿을 :
https://github.com/jordansissel/fpm
prein.sh
#!/bin/sh
echo boo
,
something.sh
#!/bin/sh
echo do something
make_rpm.sh
fpm -s dir -t rpm -v 1.0 -n test --before-install prein.sh ./something.sh=/usr/bin/something.sh
내가 수행하여 결과 RPM을 설치하는 경우 : 그것은 잘 작동
sudo rpm -i test-1.0-1.x86_64.rpm
. 그러나 모노를 통해 동일한 작업을 시도하면 사전 스크립틀릿에서 충돌로 인해 설치가 실패합니다. 하고 컴파일
test.cs
using System;
using System.Diagnostics;
namespace Test
{
class Test
{
static void Main(string [] args)
{
Process p = new Process();
p.StartInfo.FileName = "/bin/rpm";
p.StartInfo.Arguments = "-i test-1.0-1.x86_64.rpm";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.Start();
p.WaitForExit();
}
}
}
: 사용
csc test.cs
및 실행 :
sudo mono test.exe
내가 얻을 :
error: %pre(test-1.0-1.x86_64) scriptlet failed, exit status 127
error: install: %pre scriptlet failed (2), skipping test-1.0-1
동일한 절차에서도 CentOS 6에서 동일한 동작을합니다. 그러나 Redhat 7에서는 예상대로 작동합니다. 이전 버전의 mono (특히 4.0.2)와 함께 RedHat/CentOS6에서도 정상적으로 작동합니다. 누구나 이런 일이 일어나는 이유와 어떻게 해결 될지 생각할 수 있습니다.
'exit status 127' : cmd를 찾을 수 없습니다. 경로가 누락 되었습니까? 셸 환경이 없습니까? 기타.... – SushiHangover