Posts Tagged ‘systemctl’

Dienstag, 25. März 2025

systemctl befindet sich bei unterschiedlichen Debian-Versionen an verschiedenen Orten

Kürzlich habe ich auf einem meiner Linux-Server einen Service nachgerüstet, welchen ich mit monit überwache, und gegebenenfalls neu starte.

Beim ersten Absturz des Services erhielt ich von monit folgende Fehlermeldung:

Execution failed Service homebridge 

	Date:        Mon, 24 Mar 2025 22:49:48
	Action:      alert
	Host:        SERVER
	Description: failed to start (exit status -1) -- Program /usr/bin/systemctl failed: File '/usr/bin/systemctl' does not exist

Your faithful employee,
Monit

Die Konfiguration hatte ich von einem anderen Linux-System kopiert, unter welchem Neustarts problemlos funktionierten.

Was ich nach etwas debuggen herausgefunden habe:

  • Unter Debian 11 (Kernel 5.10) befindet sich systemctl unter /bin/systemctl
  • Unter Debian 12 (Kernel 6.1.115-1) befindet sich systemctl unter /usr/bin/systemctl

Nachdem ich in der monit-Konfiguration den Pfad angepasst habe, funktioniert das Neustarten des Services nun problemlos.

Tags: , , ,
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 27. August 2016

SNMPd schreibt standardmässig kein PID-Datei mehr

Ein kürzlich erfolgtes Update des SNMPd-Pakets auf meinem Debian-Server hatte zur Folge, dass meine monit-Installation den Service fälschlicherweise als offline meldete.

Dies, weil monit nach der PID-Datei des SNMP-Daemons Ausschau hält, um dessen Prozess-ID auszulesen und auf Existenz zu prüfen. Bei Debian liegt diese Datei unter /var/run/snmpd.pid.

Folgendermassen re-aktivierte ich die PID-Datei:

/etc/systemd/system/multi-user.target.wants/snmpd.service

Vor der Anpassung …

...
ExecStart=/usr/sbin/snmpd -Lsd -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f
...

… und nach der Anpassung:

...
ExecStart=/usr/sbin/snmpd -Lsd -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f -p /var/run/snmpd.pid
...

Anschliessend folgte noch ein Neustart des Daemons:

# systemctl stop snmpd
Warning: snmpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
# systemctl daemon-reload
# systemctl stop snmpd
# systemctl start snmpd

Und prompt meldete mir monit, dass der Service wieder online sei.

Tags: , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen