[gelöst]/etc/init.d/halt.local wird nicht ausgeführt

Hinweis: In dem Thema [gelöst]/etc/init.d/halt.local wird nicht ausgeführt gibt es 2 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo,


    ich bin seit einiger Zeit von SuSE 11.3 auf SuŚE 12.2 gewechselt. Das Betriebssystem SuSE 12.2 habe ich neu installiert (also kein Upgrade).


    Ich hatte in 11.3 sowohl eigene start- wie halt-scripte, die in den Dateien /etc/init.d/boot.local und /etc/init.d/halt.local hinterlegt waren. Diese scripte habe ich in das 12.2 -System mit übernommen (d.h. eben nach /etc/init.d/ kopiert, Berechtigungen stimmen).


    Bei der Installation von 12.2 habe ich (möglicherweise fehlerhaft) die Einstellung "Konfiguration automatisch erstellen" so belassen.


    Nun sieht es so aus, daß /etc/init.d/boot.local richtig ausgeführt wird, aber /etc/init.d/halt.local wird nicht ausgeführt.
    Das System führt beim Herunterfahren auch die Datei /etc/init.d/halt nicht aus (habe dort testhalber mal ein echo Kommando eingebaut, welches eine Datei mit mir bekanntem Inhalt erstellt. Diese Datei wurde nicht erstellt). Nachdem /etc/init.d/halt das Script /etc/init.d/halt.local aufruft, ist dann klar, daß auch letzteres Script nicht ausgeführt wird, weil eben /etc/init.d/halt nicht ausgeführt wird.


    Ich vermute, daß dieses Verhalten damit zusammenhängt, daß ich mit systemd boote und halte. Meine Frage:
    a) Kann ich das System (per Yast) umstellen von systemd auf initd? (einen entsprechenden Eintrag kann ich in Yast nicht finden) und /oder
    b) Gibt es eine Möglichkeit, systemd ein Script zu übergeben, welches bei halt dann ausgeführt wird?


    Vielleicht hat ja jemand eine Idee. Ich jedenfalls komme momentan nicht weiter.

    2 Mal editiert, zuletzt von LusH () aus folgendem Grund: gelöst + tags

    Für den Inhalt des Beitrages 50417 haftet ausdrücklich der jeweilige Autor: Suelkun

  • Zitat

    a) Kann ich das System (per Yast) umstellen von systemd auf initd? (einen entsprechenden Eintrag kann ich in Yast nicht finden)

    Schau mal hier.
    Da du openSUSE 12.2 installiert hast, existiert (im Normalfall) keine /boot/grub/menu.lst.
    Das aktuelle Release verwendet Standardmäßig Grub2 zum booten. Grub2 benutzt die Datei /boot/grub/grub.cfg. Also nicht verzweifeln wenn du keine menu.lst Datei findest.

    Zitat

    b) Gibt es eine Möglichkeit, systemd ein Script zu übergeben, welches bei halt dann ausgeführt wird?

    Klar du musst ein sogenanntes Service-File schreiben, indem das Script aufgerufen wird und diesen Service dann mit

    Code
    systemctl enable MyScript.service

    laden.
    In dem Service-File musst du dann eben Systemd mitteilen, dass dieser Service vor dem eigentlichern Herunterfahren ausgeführt werden soll.
    (Ich habe nur kurz gesucht, also lieber nochmal googlen denn doppelt hält besser)
    Unter dem Abschnitt [Unit] musst du eine Zeile wie diese anlegen:

    Code
    Before=shutdown.target reboot.target halt.target


    Also ausschlaggebend sie die sogenannten Services von systemd.
    Für weitere Recherche würde ich dir das Manual von Systemd auf Freedesktop.org zum Thema Services empfehlen.

    ___________________________________________________________________________________
    Zypper Befehlsreferenz

    Für den Inhalt des Beitrages 50428 haftet ausdrücklich der jeweilige Autor: lush

  • Erst mal vielen Dank, genau diese Informationen habe ich gebraucht.


    Kurzer Zwischenstand: Ich boote mit grub, d.h. es gibt da eine menu.lst. Dort war es natürlich einfach, dem Kernel beim Starten weitere Parameter mitzugeben. Der Parameter init=/sbin/sysvinit hat dann sofort dazu geführt, daß mein script /etc/init.d/halt.local beim shutdown sauber ausgeführt wurde.


    Nebeneffekt: Ich hatte als halt sound "Octave" angegeben. Hat unter systemd auch nicht getan. Tut jetzt auch (der sound wird in /etc/init.d/halt erzeugt).


    Ich werde mein Problem aber wirklich über systemd lösen und dazu muß ich halt ein wenig lesen. Mein Thread ist hiermit aber gelöst.

    Für den Inhalt des Beitrages 50480 haftet ausdrücklich der jeweilige Autor: Suelkun