Wie immer zuerst entpacken und dann in das neue Verzeichnis wechseln:
cd /sources && tar xf pakete/bootscripts-ng-0.10.tar.xz && cd bootscripts-ng-0.10/
Nun werden die Bootscripts im System verteilt. Die eigentlichen
Startscripts kommen nach /etc/runit
.
Von dort aus werden Symbolische Links in das Verzeichnis /var/service
erzeugt. Ein paar andere Dateien
kommen noch nach /etc/sysconfig
. Im
Verzeichnis /etc/runit
liegen die
Dateien 1, 2, 3. Die Datei 1 enthält alle Dienste die einmal beim
Systemstart ausgeführt werden. Die Datei 2 enthält den Dienst
runsvdir, dieser startet und überwacht alle Daemons. zb. sshd und
syslog-ng. In der Datei 3 ist festgelegt was beim shutdown oder
reboot passieren soll.
sh install-bootscripts molli
cd ..
Dieses Verzeichnis sollte nicht gelöscht werden da man es später noch braucht. Es enthält nämlich noch diverse andere Startscripts wie zum Beispiel die für Apache und viele andere Dienste.
Die Daemons Runscripte liegen im Verzeichnis /etc/service
von dort werden die Dienste zu
Aktivierung nach /var/service
verlinkt.
Da die Kommandos reboot
und shutdown nicht mehr
zur Verfügung stehen (sie sind Bestandteil von sysvinit), verwenden
wir ab jetzt die Kommandos init
6 für den Neustart und das Kommando init 0 zum herunterfahren des
Systems.
Alle Daemons werden von runsv als Vordergrundprozesse ausgeführt. So können sie unter der Kontrolle von runsv bleiben. Sollte ein Daemon aus welchen Gründen auch immer abstürzen, so ist runsv in der Lage diesen sofort neu zu starten.
Mit dem Kommando sv können die Daemons kontrolliert werden. Synopsis: sv [-v] [-w sec] command service. command ist eines der folgenden: up, down, status, once, pause, cont, hup, alarm. Es gibt noch ein paar mehr, diese sind in der entsprechenden Man Seite erklärt. Beispiel: sv down /var/service/sshd schaltet den sshd Daemon ab. Oder sv status /var/service/sshd liefert folgendes run: /var/service/sshd: (pid 1843) 309916s; run: log: (pid 1840) 309917s also der Daemon läuft seit n Sekunden und auch der Logdienst für den sshd läuft. Sendet man dem Dienst nun ein Stop Kommando sv stop /var/service/sshd so bekommt man eine solche Ausgabe sv status /var/service/sshd : down: /var/service/sshd: 8s, normally up; run: log: (pid 1840) 310647s der Daemon ist seit 8 Sekunden angehalten, aber der Logdienst läuft weiterhin. Durch setzen der Umgebungsvariable SVDIR, in unserem Fall export SVDIR="/var/service", kann man sich den Pfad sparen und braucht nur noch den Dienst angeben z.B. sv status sshd.