• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] runlevelskript als letztes starten lassen

Moin Moin,

ich möchte ein runlevelskript als wirklich letztes skript starten lassen und zwar auf verschiedenen Suse-Versionen. Über required-start kriege ich dies leider nicht hin. insserv schiebt mir das Skript immer irgendwo in die Mitte des Boot-Vorgangs.

Hintergrund ist Folgender: Das Skript soll Informationen zu dem Rechner und ein Login für das System ausgeben. Das Skript selber war kein Problem aber das "vor dem Login-Prompt anzeigen".

Hat einer von euch schon einmal ähnliches gemacht oder eine gute Idee wie man das realisieren könnte?
 
OP
Geier0815

Geier0815

Guru
Wie soll ich da "Alles" rein bekommen wenn ich nicht weiß wie die Runlevel aussehen werden? Klar kann ich das jetzt für jede Suse-Version mit der wir arbeiten einzeln festlegen aber ein allgemeiner Weg wäre mir lieber. Unter Debian zB kann man das sehr schön machen weil dort insserv nicht verwendet wird und die Reihenfolge nur über S**NAME im entsprechenden Runlevel gesteuert wird.
 

admine

Ultimate Guru
Wäre das dann nicht eher ein Fall für boot.local (ich kann da aber nur für openSUSE sprechen)
# script with local commands to be executed from init on system startup
#
# Here you should add things, that should happen directly after booting
# before we're going to the first run level.
 

josef-wien

Ultimate Guru
Mit
Code:
# Required-Start:    $ALL
oder
Code:
# Should-Start:    $ALL
wird es in der letzten Gruppe (gemeinsam mit SuSEfirewall2_setup und stoppreload) durchgeführt.

Aber zu diesem Zeitpunkt ist die grafische Oberfläche bereits gestartet worden. Ist Deine Anforderung nicht eher, daß Dein Skript eine Voraussetzung für earlyxdm oder xdm sein muß (und damit den Start der grafischen Oberfläche "bremst")?
 
OP
Geier0815

Geier0815

Guru
Kein graphisches System, es ist überhaupt kein X installiert. Das mit dem $ALL scheint ziemlich exakt das zu sein was ich nicht finden konnte. Werde ich testen, auch die Variante mit boot.local werde ich mir mal näher ansehen. Danke!
 

Tooltime

Advanced Hacker
Die boot.local wird vor den Runlevel-Scripten ausgeführt. Bei SuSE sieht es etwa so aus:

  • Zuerst werden die Scripte in /etc/init.d/boot.d ausgeführt.
    Als zweites /etc/init.d/boot.local.
    Falls vorhanden kommt jetzt /etc/init.d/before.local
    Alle Scripte des Runlevelverzeichnis
    Und zum Schluss /etc/init.d/after.local
Mein Vorschlag wäre die Datei /etc/init.d/rc.local zu erzeugen und mit /etc/init.d/after.local zu verlinken. Dann sollte sich jeder Zuhause fühlen, egal von welchen Unix er kommt.
 
OP
Geier0815

Geier0815

Guru
Kurze Rückmeldung: Das mit $ALL hat nicht wirklich das gebracht was ich mir vorstellte. Vermutlich weil einige Skripte im Runlevel länger brauchen um abgearbeitet zu werden, dementsprechend wurde mein Skript irgendwo im Verlauf des Bootens angezeigt.

Die Variante von Tooltime hingegen funktioniert für mich wunderbar!

Danke!
 
Oben