서비스 작동이 중지되었습니다 - exec: tclsh: 찾을 수 없음

서비스 작동이 중지되었습니다 - exec: tclsh: 찾을 수 없음

Ubuntu 16.04에서 Security Onion을 실행하고 있습니다. 일부 기본 서비스(SGUIL, PCAP, Snort)가 2019년 6월 9일 어제 작동을 중단했습니다. 각 서비스의 로그에서 다음 항목을 찾았습니다.

/usr/bin/{service name}_agent.tcl:  line 3:  exec:  tclsh:  not found

다음 로그에 위의 메시지가 표시됩니다.

pcap_agent.log
snort_agent.log
squild.log

위의 각 로그는 /usr/bin 디렉터리(예: pcap_agent.tcl, snort_agent.tcl 및 sguild)에 있는 관련 .tcl 파일을 참조합니다. 각 파일의 맨 위에는 다음 세 줄이 있습니다.

#!/bin/sh
# Run tcl from users PATH \
exec tclsh "$0" "$@"

tcl 버전이 오래되었고 명령으로 업데이트해야 한다고 제안하는 포럼 페이지 하나를 발견했습니다 sudo apt-get install tcl. 그러나 업데이트하기 위해 해당 명령을 실행하면 tcl이 이미 최신 버전(8.6.0+9)에 있다는 메시지가 나타납니다.

이것은 처음으로 .tcl 파일에 노출되었기 때문에 즉석에서 조사/학습 중이며 인터넷, 포럼 등에서 이 오류를 광범위하게 조사했지만 아직 도움이 되는 내용을 찾지 못했습니다.

나를 도와줄 수 있는 사람이 있나요? 이것이 우리 생산 기계에 영향을 미치고 있어 이 문제를 해결해야 합니다. 필요한 경우 로그 파일 등을 제공할 수 있습니다.

미리 감사드립니다, Jeff S.

답변1

조각은 환경 변수 의 각 디렉터리에서 찾으라고 exec tclsh지시합니다 . 다음을 검사하십시오 . $SHELLtclsh$PATH$PATH

echo "$PATH" | tr ":" "\n"

tclsh이므로 찾으려면 for /usr/bin/tclsh/usr/bin있어야 합니다 .$PATHexec tclsh

tclsh패키지 에 있습니다 tcl:

walt@fox:~(0)$ type -p tclsh
/usr/bin/tclsh
walt@fox:~(0)$ dpkg -S $(type -p tclsh)
tcl: /usr/bin/tclsh
walt@fox:~(0)$ dpkg -L tcl
/.
/usr
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/doc
/usr/share/doc/tcl
/usr/share/doc/tcl/README.Debian
/usr/share/doc/tcl/changelog.gz
/usr/share/doc/tcl/copyright
/usr/share/man
/usr/share/man/man1
/usr/bin
/usr/share/man/man1/tclsh.1.gz
/usr/bin/tclsh

다음을 사용하여 패키지 를 다시 설치할 수 있습니다 tcl.

sudo apt-get install --reinstall tcl

관련 정보