Installationsstart der Anwendung bei Neustart (Solaris) ENTWURF

Erstellen von symbolischen Link in "/etc/init.d"

Der erste Schritt bei der Anwendungseinrichtung, damit diese sich selbst auch korrekt beim Herunterfahren des Systems beendet und dann beim System-Hochstarten in der korrekten Reihenfolge hochstartet, ist es einen symbolischen Link zum Anwendungsskript innerhalb des /etc/init.d-Verzeichnis zu erstellen. Viele Anwendungen kopieren einfach Ihr Daemon-Skript in dieses Verzeichnis, aber die Skripts des Wrappers erfordern, dass ein symbolischer Link genutzt wird, so dass der Speicherort von den restlichen Anwendungsdateien ohne Skriptänderung aufgefunden werden kann.

Um einen symbolischen Link in /etc/init.d zu erstellen, müssen Sie ein "Root"-User sein. Geben Sie bitte einfach die folgende Sequenz an Befehlen ein:

ln -s /usr/lib/myapp/bin/myapp /etc/init.d/myapp

Überprüfen Sie nun, dass der symbolische Link korrekt funktioniert, indem Sie das aktuelle Verzeichnis auf /etc/init.d ändern und den folgenden Befehl ausführen.

./myapp console

Stellen Sie sicher, dass Sie dies als "Root" ausführen, da dies der Fall sein wird, wenn die Anwendung beim Hochfahren des Systems gestartet wird. Es ist ziemlich üblich, dass es hierbei Unterschiede in der Umgebung zwischen dem "Root"-User und dem User, mit dem Sie normalerweise eingeloggt sind, gibt. Diese Unterschiede können Probleme verursachen, wie z.B., dass man nicht in der Lage ist, z.B. die JVM aufzufinden.

Die Anwendung sollte normal starten. Drücken Sie STRG-C, um die Anwendung zu beenden.

Registrieren der Ausführungsebenen

Sie werden ggf. wünschen, dass Ihre Anwendung auf allen Multi-User-Ausführungsebenen gestartet und für die Halt-, Single-user und Neustart-Ausführungsebenen gestoppt werden kann. Dies kann durch das Ändern des aktuellen Verzeichnisses auf /etc/init.d und darauffolgendes Ausführen der folgenden Befehle als ein "Root"-User erreicht werden:

ln -s /etc/init.d/myapp /etc/rc0.d/K20myapp
ln -s /etc/init.d/myapp /etc/rc1.d/K20myapp
ln -s /etc/init.d/myapp /etc/rc2.d/S20myapp
ln -s /etc/init.d/myapp /etc/rc3.d/S20myapp

Die Umgebung während des Bootens ist ziemlich spärlich ausgestattet, so dass alle Verweise, die von den Pfad- und Umgebungsvariablen Gebrauch machen, fehlschlagen. Zu Ihrer eigenen Sicherheit, wenn Sie versuchen, neu zu starten, um Ihre Installation zu testen, wird vorgeschlagen, dass Sie jetzt die Eigenschaft wrapper.logfile.loglevel auf DEBUG festlegen.

Sie können Ihr System nun neu starten, um Ihre Installation zu testen:

shutdown -r now

Wenn das System wieder hochfährt, wird es dann hoffentlich laufen.

Probleme?

Wenn Sie irgendwelche Probleme antreffen, dann prüfen Sie bitte die Logdatei,, die ein paar Hinweise zu dem Problem enthalten sollte. Wenn der Test im vorherigen Abschnitt funktionierte, aber dieser misslang, dann hängt das Problem sehr wahrscheinlich mit fehlenden Umgebungsvariablen zusammen.

Die Reihenfolge kontrollieren:

Wenn Ihre Anwendung von anderen Diensten Gebrauch macht, z.B. MySQL, dann werden Sie sicherstellen müssen, dass Ihre Anwendung nach MySQL gestartet und dann vor MySQL beendet wird. Dies wird durch Kontrolle der Starten/Beenden-Reihenfolge erreicht. Standardmäßig startet und beendet sich MySQL mit einer Reihenfolge 20, so können wir das gewünschte Verhalten Ihrer Anwendung durch Nutzen der Starten-Reihenfolge 21 und der Beenden-Reihenfolge 19 erhalten.

ln -s /etc/init.d/myapp /etc/rc0.d/K19myapp
ln -s /etc/init.d/myapp /etc/rc1.d/K19myapp
ln -s /etc/init.d/myapp /etc/rc2.d/S21myapp
ln -s /etc/init.d/myapp /etc/rc3.d/S21myapp

Löschen der Registrierung der Ausführungsebenen

Um die Registrierung der Ausführungsebenen, wie sie im vorherigen Abschnitt registriert wurden, zu löschen, führen Sie bitte die folgenden Befehle aus. Sie müssen ggf. die Reihenfolgen ändern, um mit denen übereinzustimmen, diese sie genutzt haben, als Sie symbolische Links erstellt haben.

rm /etc/rc0.d/K20myapp
rm /etc/rc1.d/K20myapp
rm /etc/rc2.d/S20myapp
rm /etc/rc3.d/S20myapp

Verweis: Starten Ihrer Anwendung mit dem Wrapper