Dienste funktionieren nicht mehr - exec: tclsh: nicht gefunden

Dienste funktionieren nicht mehr - exec: tclsh: nicht gefunden

Ich verwende Security Onion unter Ubuntu 16.04. Einige der primären Dienste (SGUIL, PCAP, Snort) haben gestern, am 9.6.2019, aufgehört zu funktionieren. In den Protokollen jedes dieser Dienste finde ich den folgenden Eintrag:

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

Ich sehe die obige Meldung in den folgenden Protokollen:

pcap_agent.log
snort_agent.log
squild.log

Jedes der oben genannten Protokolle verweist auf eine zugehörige .tcl-Datei im Verzeichnis /usr/bin (z. B. pcap_agent.tcl, snort_agent.tcl und sguild). Jede dieser Dateien enthält ganz oben die folgenden drei Zeilen:

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

Ich habe eine Forumsseite gefunden, auf der stand, dass die Version von tcl alt sei und mit dem sudo apt-get install tclBefehl aktualisiert werden müsse. Wenn ich diesen Befehl jedoch ausführe, um es zu aktualisieren, wird angezeigt, dass tcl bereits auf der neuesten Version (8.6.0+9) läuft.

Dies ist das erste Mal, dass ich mit .tcl-Dateien in Berührung komme, daher recherchiere/lerne ich nebenbei und habe diesen Fehler ausführlich im Internet, in Foren usw. recherchiert, aber bisher nichts Hilfreiches gefunden.

Kann mir bitte jemand helfen? Dies wirkt sich auf unsere Produktionsmaschine aus und ich muss das beheben. Bei Bedarf kann ich Protokolldateien usw. bereitstellen.

Vielen Dank im Voraus, Jeff S.

Antwort1

Das exec tclshFragment weist Sie an, in jedem Verzeichnis in Ihrer Umgebungsvariable nach Folgendem $SHELLzu suchen . Überprüfen Sie Folgendes : tclsh$PATH$PATH

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

tclshist /usr/bin/tclsh, also /usr/binmuss es in Ihrer Nähe sein, $PATHum exec tclshes zu finden.

tclshist im tclPaket:

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

Sie können das tclPaket wie folgt neu installieren:

sudo apt-get install --reinstall tcl

verwandte Informationen