
Estou executando o Security Onion no Ubuntu 16.04. Alguns dos serviços primários (SGUIL, PCAP, Snort) deixaram de funcionar ontem, 09/06/2019. Nos logs de cada um desses serviços encontro a seguinte entrada:
/usr/bin/{service name}_agent.tcl: line 3: exec: tclsh: not found
Vejo a mensagem acima nos seguintes logs:
pcap_agent.log
snort_agent.log
squild.log
Cada um dos logs acima faz referência a um arquivo .tcl associado no diretório /usr/bin (ou seja, pcap_agent.tcl, snort_agent.tcl e sguild). Cada um desses arquivos possui as três linhas a seguir no topo do arquivo:
#!/bin/sh
# Run tcl from users PATH \
exec tclsh "$0" "$@"
Encontrei uma página do fórum que sugeria que a versão do tcl era antiga e precisava ser atualizada com o sudo apt-get install tcl
comando. No entanto, quando executo esse comando para atualizá-lo, ele afirma que o tcl já está na versão mais recente (8.6.0+9).
Esta é a primeira vez que fui exposto a arquivos .tcl, então estou pesquisando/aprendendo rapidamente e pesquisei esse erro extensivamente na Internet, fóruns, etc., mas ainda não encontrei nada útil.
Existe alguém que possa me ajudar? Isso está impactando nossa máquina de produção e preciso consertar isso. Posso fornecer arquivos de log, etc., se necessário.
Agradecemos antecipadamente, Jeff S.
Responder1
O exec tclsh
fragmento diz para você $SHELL
procurar tclsh
em cada um dos diretórios da sua $PATH
variável de ambiente. Inspecione seu $PATH
:
echo "$PATH" | tr ":" "\n"
tclsh
é /usr/bin/tclsh
, então /usr/bin
deve estar em seu $PATH
for exec tclsh
para encontrá-lo.
tclsh
está no tcl
pacote:
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
Você pode reinstalar o tcl
pacote com:
sudo apt-get install --reinstall tcl