
첫째, 이것은 발견된 것과 똑같은 질문입니다.여기, 그러나 주어진 솔루션이 내 상황에서는 작동하지 않았습니다.
배경
CentOS 6 VPS를 실행 중이고 여기에 ZNC 바운서를 실행하고 싶습니다. 처음에 서비스를 구성했는데 sudo -u znc znc --makeconf
문제가 발생하지 않았습니다. 성공적으로 시작할 수 있었습니다.
문제
그러나 ZNC를 다시 시작하고 재부팅하려고 하면 즉시 문제가 발생했습니다.
# service znc start
Starting znc: /usr/bin/dirname: extra operand `2>&1.pid'
Try `/usr/bin/dirname --help' for more information.
[FAILED]
나는 ZNC에 대한 초기화 스크립트를 살펴보기 시작했고 다른 사람들이 온라인의 다른 소스에서 지적한 것처럼 아포스트로피 배치에 문제가 있는 것 같습니다.
. /etc/rc.d/init.d/functions
exec=/usr/bin/znc
prog=znc
config=/var/lib/znc
runas=znc
lockfile=/var/lock/subsys/$prog
start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog: "
daemon --user $runas "$exec -d $config >/dev/null 2>&1"
# daemon --user $runas --check $exec "$exec -d $config >/dev/null 2>&1"
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
수정 시도
daemon
메서드 의 줄이 문제인 start()
것 같습니다. 다음과 같이 수정해 보았습니다.
daemon --user $runas "$exec" -d $config >/dev/null 2>&1
그러나 이를 수정하면 오류가 해결되지만 로 ZNC를 시작하면 service znc start
빈 출력이 표시됩니다. 둘 다 [OK]
또는 [FAILED]
제공되지 않습니다. 결국 서비스가 시작되지 않으며 이는 에서 확인됩니다 service znc status
.
문제에 대해 혼란스러워서 문제의 원인을 파악하는 방법을 잘 모르겠습니다. 추가적인 문제 해결 조언을 부탁드립니다!
답변1
다음 에서 문제가 되는 줄을 편집하여 이 문제를 해결했습니다 /etc/rc.d/init.d/znc
.
daemon --user $runas "$exec -d $config >/dev/null 2>&1"
다음에:
daemon --user $runas "$exec -d $config >/dev/null"
(즉, stderr 리디렉션 제거, 2>&1)
이제 서비스가 정상적으로 시작되었는지 또는 실패했는지 확인됩니다.
root@localhost [~]# service znc restart
Stopping znc: [FAILED]
Starting znc: [ OK ]
또한 적어도 yum 설치(CentOS 6.7)에서는 올바른 구성 디렉터리(12행)를 가리키도록 동일한 파일에서 이 줄을 수정해야 했습니다.
config=/var/lib/znc
에게:
config=/var/lib/znc/.znc
이전에는 znc가 이전에 sudo -H -u znc znc --makeconf
.