GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Build-Umgebungsisolation und Dateisystem-Diffing

Ich würde auf jeden Fall etwas in der Art von:

in Betracht ziehen

A)

  • Yum-Liste (wählen Sie Ihre Pakete/Abhängigkeiten aus, was auch immer)
  • verwenden Sie yumdownloader auf der vorherigen Liste (oder verwenden Sie die Pakete, die Sie bereits heruntergeladen haben)
  • Repository erstellen
  • Medien mit Installationsskript ausliefern, das das CD-Repo zu Repolist hinzufügt usw.

oder B)

Zuerst zwei Schritte wie oben, dann die RPMs in ein Archiv packen, ein Paket erstellen, das alle oben genannten enthält, und die eigentliche Installation der RPMs (nach dem Vorbild von rpm -Uvh /tmp/repo/*) als spätes Skript starten (vielleicht in der Aufräumphase). Keine Ahnung, ob dies möglich ist, um Sperren der RPM-Datenbank zu vermeiden.


Ich denke, Sie haben den Punkt der Komplexität erreicht - in der Tat ein Frankenstein-Monster -, an dem Sie aufhören sollten, sich davor zu fürchten, richtige Pakete mit Abhängigkeiten zu erstellen. Wir haben dies in meiner vorherigen Arbeit getan – wir hatten eine Reihe fabrizierter RPM-Pakete – und es war sehr einfach und unkompliziert, einschließlich:

  • Skripte vor/nach der Installation
  • Skripte deinstallieren
  • Abhängigkeiten

Wir mussten nie etwas tun, was Sie gerade beschrieben haben. Und für den Kunden war die Installation sogar einer Reihe von Paketen sehr einfach!

Weitere Informationen finden Sie im Referenzhandbuch zum Erstellen von RPM-Paketen.

BEARBEITEN: Wenn Sie ein einzelnes Installationspaket benötigen, dann erstellen Sie dieses Hauptpaket, das alle anderen Pakete enthält (mit richtig eingestellten Abhängigkeiten) und installiert sie im Nachinstallationsskript (und deinstalliert sie im Deinstallationsskript).


Linux
  1. So mounten und unmounten Sie ein Dateisystem unter Linux

  2. Kopieren und überschreiben Sie eine Datei im Shell-Skript

  3. Verwenden von Jenkins BUILD NUMBER in der RPM-Spezifikationsdatei

  4. Welches Dateisystem soll zwischen OSX und Linux verwendet werden?

  5. Ausführen eines Bash-Skripts oder einer C-Binärdatei auf einem Dateisystem mit der Option noexec

5 Möglichkeiten, eine Beschreibung und einen Speicherort eines „Binärbefehls“ im Dateisystem zu finden

Erstellen und erweitern Sie das XFS-Dateisystem basierend auf LVM

Top 25 Fragen und Antworten zu Linux-Interviews

Was ist EFS (Elastic File System) in AWS und wie wird es verwendet?

So überprüfen und reparieren Sie ein Dateisystem in RHEL Linux

So installieren Sie Java 8 JRE und JDK aus einer RPM-Datei unter Linux