Сервисы прекратили работать - должностное лицо: tclsh: не найденный

Я выполняю Лук безопасности на Ubuntu 16.04. Несколько основных сервисов (SGUIL, PCAP, Фырканье) прекратили работать вчера, 09.06.2019. В журналах каждого из этих сервисов я нахожу следующую запись:

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

Я вижу вышеупомянутое сообщение в следующих журналах:

pcap_agent.log
snort_agent.log
squild.log

Каждый из вышеупомянутых журналов ссылается на связанный .tcl файл в/usr/bin каталоге (т.е. pcap_agent.tcl, snort_agent.tcl, и sguild). Каждый из этих файлов имеет следующие три строки в самом верху файла:

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

Я нашел одну страницу форума, которая предположила, что версия tcl стара и необходима, чтобы быть обновленной с sudo apt-get install tcl команда. Однако, когда я выполняю это commnand для обновления его, это указывает, что tcl уже находится на новейшей версии (8.6.0+9).

Это является первым, я был подвергнут .tcl файлам, таким образом, я исследую/изучаю на лету, и исследовал эту ошибку экстенсивно в Интернете, форумах, и т.д., но должен все же найти что-либо полезным.

Есть ли кто-либо, кто может помочь мне? Это влияет на нашу производственную машину, и я должен получить зафиксированный. Я могу обеспечить файлы журнала и т.д. в случае необходимости.

Заранее спасибо, Jeff S.

0
задан 10 June 2019 в 23:27

1 ответ

Фрагмент exec tclsh говорит вашему $SHELL искать tclsh в каждом из каталогов в вашей переменной среды $PATH. Проверьте, что $PATH:

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

tclsh равно /usr/bin/tclsh, поэтому /usr/bin должно быть в вашем $PATH для exec 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
1
ответ дан 10 June 2019 в 23:27

Другие вопросы по тегам:

Похожие вопросы: