
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 tcl
comando. 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 tclsh
fragmento le indica $SHELL
que busque tclsh
en cada uno de los directorios de su $PATH
variable de entorno. Inspeccione su $PATH
:
echo "$PATH" | tr ":" "\n"
tclsh
es /usr/bin/tclsh
, por lo que /usr/bin
debe estar en su sitio $PATH
para exec tclsh
encontrarlo.
tclsh
está en el tcl
paquete:
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 tcl
paquete con:
sudo apt-get install --reinstall tcl