Los servicios dejaron de funcionar - ejecutivo: tclsh: no encontrado

Los servicios dejaron de funcionar - ejecutivo: tclsh: no encontrado

Estoy ejecutando Security Onion en Ubuntu 16.04. Algunos de los servicios primarios (SGUIL, PCAP, Snort) dejaron de funcionar ayer, 9/6/2019. En los logs de cada uno de estos servicios encuentro la siguiente entrada:

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

Veo el mensaje anterior en los siguientes registros:

pcap_agent.log
snort_agent.log
squild.log

Cada uno de los registros anteriores hace referencia a un archivo .tcl asociado en el directorio /usr/bin (es decir, pcap_agent.tcl, snort_agent.tcl y sguild). Cada uno de estos archivos tiene las siguientes tres líneas en la parte superior del archivo:

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

Encontré una página del foro que sugería que la versión de tcl es antigua y necesitaba actualizarse con el sudo apt-get install tclcomando. Sin embargo, cuando ejecuto ese comando para actualizarlo, indica que tcl ya está en la versión más reciente (8.6.0+9).

Esta es la primera vez que he estado expuesto a archivos .tcl, así que estoy investigando/aprendiendo sobre la marcha y he investigado este error extensamente en Internet, foros, etc., pero todavía no he encontrado nada útil.

¿Hay alguien que pueda ayudarme? Esto está afectando nuestra máquina de producción y necesito arreglarlo. Puedo proporcionar archivos de registro, etc. si es necesario.

Gracias de antemano, Jeff S.

Respuesta1

El exec tclshfragmento le indica $SHELLque busque tclshen cada uno de los directorios de su $PATHvariable de entorno. Inspeccione su $PATH:

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

tclshes /usr/bin/tclsh, por lo que /usr/bindebe estar en su sitio $PATHpara exec tclshencontrarlo.

tclshestá en el tclpaquete:

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

Podrías reinstalar el tclpaquete con:

sudo apt-get install --reinstall tcl

información relacionada