Eigene Skripte in Debian-Pakete packen

bekas007, 123Rf

Eingepackt

Damit Server automatisch funktionieren und als Knoten in der Cloud skalieren, bedarf es vieler Skripte, die gründlich getestet werden wollen. Wer lokal testet, kann eigene Skripte mit Debian-Paketen auf den Cloud-Knoten installieren.
Thematischer Schwerpunkt dieser Ausgabe ist die kontinuierliche Überwachung von Servern, Clients und anderen Geräten im Netzwerk: mit dem IPMI-Plugin, dem ... (mehr)

Wer jetzt schon auf dem Cloud-Computing-Zug mitfährt, darf sich freuen: Die Cloud skaliert, die Dienste sind redundant ausgelegt, man ist also für den großen Besucheransturm und gegen Ausfälle gleichermaßen gewappnet. Nur haben sich mittlerweile um die 20 Skripte für eine ganze Reihe unterschiedlicher Aufgaben angesammelt, zum Beispiel eins fürs Booten, eins für den Fall, dass sich die IP-Adresse ändert, und so weiter. Und kürzer und besser zu warten werden die Skripte im Lauf der Zeit garantiert auch nicht. Natürlich können Sie sie in einem Versionskontrollsystem verwalten (das hoffentlich Git ist, aber Hauptsache ein VCS), aber wie installiert man sie zuverlässig und reproduzierbar auf dem Zielsystem?

Hier kommen die guten alten Debian-Paket zu Hilfe. Die lassen sich auf allen Debian-basierten Distributionen wie beispielsweise auch Ubuntu verwenden. Sie sind einfach zu erzeugen und bieten den optimalen Weg, die eigenen Skripte zu paketieren und zu verteilen. Dieser Artikel zeigt im Detail, wie Sie das machen. Außerdem erfahren Sie, wie Sie damit zuverlässig Änderungen auf das Live-System Ihrer Cloud übertragen.

Debian-Pakete lassen sich sehr einfach installieren. Wer schon einmal Debian oder Ubuntu verwendet hat, kennt normalerweise den Ablauf, ein neues Paket zu installieren:

 

In einem Debian-Paket stecken die Binärdateien, Skripte und andere Dateien, die zu einem Programm gehören, einschließlich einer Handvoll Kontrolldateien, die den Kommandozeilentools mitteilen, wie sie das Paket installieren sollen. Die interessantesten Bestandteile eines Debian-Pakets sind die Kontrolldateien, die in einem Verzeichnis namens »DEBIAN« stecken. Die Kontrolldateien teilen dem Paketmanager mit, welche Dateien das Paket enthält, wie es heißt, welche Versionsnummer es hat und so weiter.

Paketbau

Um diesen Prozess zu illustrieren, soll im Folgenden ein einfaches Debian-Beispielpaket entstehen. Es enthält eine einfache Webseite, die der Webserver anzeigt, solange noch keine richtige Anwendung installiert ist. Wenn Sie zum Beispiel zehn neue Instanzen eines Cloud-Node starten, weil Sie in sechs Millionen Tweets erwähnt werden, sollte erst mal eine statische Seite erscheinen, bevor es richtig losgeht.

Legen Sie zum Start ein Verzeichnis »myserver« an und darin weitere Verzeichnisse und die HTML-Datei:

 

In die Datei »DEBIAN/control« kommt dann der Code aus Listing 1. Die HTML-Datei »index.html« sieht etwa so aus wie Listing 2.

Listing 2

index.html

 

Listing 1

Kontrolldatei

 

Gleiche Pfade

Der Pfad der HTML-Seite ist identisch mit dem Speicherort auf dem Server – in Standard-Debian-Installationen legt der Apache-Webserver seine Dateien unterhalb von »/var/www« ab. Wenn Sie also eine Datei irgendwo auf dem Dateisystem des Servers installieren wollen, bauen Sie den Pfad im Paketbauverzeichnis nach. Aus der Verzeichnisstruktur erstellen Sie mit dem folgenden Befehl ein Paket:

 

Klappt alles, finden Sie im Verzeichnis eine Datei namens »myserver.deb« . Bevor Sie das Paket installieren, können Sie sich den Inhalt anzeigen lassen:

 

Die Installation läuft, mit Administrator-Rechten ausgestattet, ebenso einfach ab:

 

Nun müsste sich die Datei »index.html« im Webserver-Root befinden.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Systeme mit Vamigru verwalten

Auch wer nur kleine Flotten von Linux-Servern verwaltet, freut sich über Werkzeuge, die ihm diese Arbeit erleichtern. Vamigru tritt mit diesem Versprechen an. Wir verraten, was es leistet und wie Sie es in der eigenen Umgebung in Betrieb nehmen. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite