Hallo,
ich stelle gerade auf Ubuntu 18.04 um und mit systemd scheint das alte Skript nicht mehr korrekt zu laufen. Gibt es ggf. jemanden, der das Skript schon auf systemd umgestellt hat?
Was ich bisher gefunden habe, wäre dies mein Ansatz - welcher nach einem Test funktionieren sollte:
Grundsätzlich sollte es ausreichen, das/ein ausführbare Skript nach /lib/systemd/system-shutdown zu verlinken. Alles was dort ausführbar liegt, wird beim reboot, shutdown etc. ausgeführt (mit Übergabe eines Parameters, ob nun poweroff oder reboot etc.). Im Skript muss man dann nur den Parameter abfragen, ob poweroff (denn beim Reboot will ich ja das Skript nicht ausführen).
Hier ein Proof of Concept Code:
#!/bin/bash
chvt 1
echo "IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII" >/dev/tty1 2>&1
fsck -C0 -y -v -f /dev/sda3 >/dev/tty1 2>&1
if [ mount | grep ' / ' | grep -q 'rw' ]; then
echo "-> File system is still mounted, skipping run of fsck! Para: $1" >/dev/tty1 2>&1
sleep 30
else
echo "-> Now starting fsck...Para: $1" >/dev/tty1 2>&1
sleep 30
fi
exit 0
Alles anzeigen
Oder hat das jemand besser gelöst? Als Service-Unit habe ich es bisher nicht hinbekommen, dass das ganze zum korrekten Zeitpunkt startet.