Das mag bisher etwas umständlich anmuten. So viel Aufwand, nur um ein kleines Skript auf eine Cloud-Instanz zu installieren. Wer eine große Serverfarm betreibt und die Skripte auf dem Laufenden halten will, sieht das aber anders.
Einige Cloud-Services lassen den Anwender Skripte über ein Webinterface editieren, was bis zu einem bestimmten Punkt auch ausreicht. Aber irgendwann wird sich jeder doch einen richtigen Editor wünschen. Ein eigenes Debian-Paket macht es Ihnen auch leicht, ein Skript auf dem lokalen Rechner zu editieren und zu testen, bevor Sie die endgültige Version per Paket auf dem Produktsionssystem installieren.
Man könnte sich fragen, was der Sinn des ganzen Aufwands ist, lassen sich nicht genauso gut Tar-Pakete für den gleichen Zweck verwenden? Die Antwort darauf ist, dass die Debian-Pakete noch zwei weitere Hooks bieten: »post-install
«
und »pre-uninstall
«
. Wenn der Paketmanager die Dateien eines Pakets kopiert hat, führt er das Post-Installskript »DEBIAN/postinst
«
aus. Beim De-Installieren entfernt der Paketmanager erst die Dateien, bevor er »DEBIAN/prerm
«
ausführt. Über diese Skripte können Sie zum Beispiel Software installieren, Dienste starten oder auch einem Monitoringsystem neue Anweisungen geben.
Editieren Sie beispielsweise »DEBIAN/postinst
«
und tragen eine Zeile wie die folgende ein:
curl http://my-monitor.example.com/event=installed-apache&server=$SERVER_NAME
Die Details hängen zwar von dem verwendeten Monitoringsystem ab, aber so in dieser Art können Sie es über die Installation des Pakets informieren.
Eine typische Aufgabe für ein Post-Installskript ist es, einen symbolischen Link anzulegen, damit die eigenen Skripte auch im Standard-Ausführungspfad erscheinen, zum Beispiel so:
ln -s /usr/local/myserver/bin/ on-host-up.sh/usr/bin/on-host-up.sh
Alle Aktionen, die Sie brauchen, um einen notwendigen Dienst zu starten, sollten Sie in das Post-Installskript packen, zum Beispiel:
service apache2 start service my-monitor start
In dieser Stufe des Ablaufs sollten Sie keine eigenen Dateien installieren oder herunterladen.