Wandeln Sie ein Bash- und PHP-Skript in ein verteilbares RPM um

Wandeln Sie ein Bash- und PHP-Skript in ein verteilbares RPM um

Ich kenne mich einigermaßen mit Unix aus und möchte in der Lage sein, ein RPM von meinem Server abzurufen, es mit etwas wie rpm -i auszuführen und von überall auf das Skript zuzugreifen.

Das Skript ist eine Kombination aus Awk und PHP, die einige Verarbeitungsvorgänge durchführt. Es erfordert weder eine spezielle Version noch spezielle Bibliotheken. Ich denke, PHP könnte sogar Version 4 verwenden. Awk ist so alt wie die Zeit. Die Reihenfolge- und Verwendungsanweisung wird in einer umschließenden .sh gespeichert.

Wie 1. verwandle ich es in ein RPM, das 2. es in /usr/bin (oder einem ausführbaren Ordner) ablegt, obwohl ich einen eigenen Unterordner bevorzugen würde, da es zwei Dateien sind.

Ich werde mich hauptsächlich auf CentOS konzentrieren, aber vielleicht auch auf andere Shells. Ich glaube nicht, dass das wichtig ist.

Antwort1

Von unten anfangen:

Ich glaube nicht, dass es wichtig ist.

Nun, das ist ein wenig wichtig. CentOS verwendet RPM, viele andere Distributionen jedoch nicht. Wie Sie Dinge verpacken, hängt wirklich davon ab, wo Sie sie installieren möchten.

Wie verwandle ich es in ein RPM?

Sie müssen eine RPM SPEC-Datei erstellen, die eine Sammlung von Metadaten über Ihr Paket und die Regeln enthält, die für die Zusammenstellung erforderlich sind. Das Fedora-Projekt hat einen Leitfaden namensSo erstellen Sie ein RPM-Paketdas sollte Ihnen den Einstieg erleichtern.

Als Paketersteller können Sie entscheiden, wo Dateien installiert werden. Eine gute Idee ist, Ihren .shWrapper in /usr/bin-- oder ein anderes Verzeichnis zu speichern, das in Ihrem Verzeichnis liegt $PATH-- und dann andere Supportdateien in etwas wie zu speichern /usr/lib/<yourappname>.

Antwort2

FPMkann problemlos mehrere Pakettypen erstellen. Es ist auf die schnelle Erstellung von Paketen ausgerichtet, ist aber dennoch anpassbar. Es kann RPMs, DEBs, Solaris SVR4-Pakete und sogar einfache Tarballs erstellen.

verwandte Informationen