Wie kann ich eine vorhandene RPM-Datei für die Installation auf einem Fedora 11-System ändern?

515
B. SAUNDERS

Ich habe ein RPM, das wir auf unseren Produktionssystemen installieren, das ich ändern möchte, damit das Betriebssysteminstallationsprogramm nach der Installation keine Änderungen am System vornehmen muss. Die Distribution ist ziemlich alt (und wir können sie leider nicht auf eine neuere aktualisieren) - Fedora 11.

Gibt es eine Methode für mich, um das RPM zu entpacken, die Datei zu ändern und es dann erneut zu packen?

Andere Lösungen, die ich gesehen habe, beziehen sich auf die Dienstprogramme "Mock" und "Mc", die ich nicht habe.

0
Fedora 11 ist 7 Jahre nach [EOL] (http://fedoraproject.org/wiki/End_of_life). Aktualisieren Sie den neuesten Stand, um Unterstützung zu erhalten. Jakuje vor 7 Jahren 2

1 Antwort auf die Frage

0
Knud Larsen

Wenn das RPM-Paket, das Sie entpacken möchten, für Fedora 11 oder älter ist, kann Fedora 11 die Datei z. B. extrahieren unPack_rpm.sh:

#!/bin/bash # Purpose: Unpack RPM archives (by @unSpawn) # Args: /path/to/archive # Deps: Bash, GNU utils, RPM rpmDetails() { for Q in changelog provides requires scripts triggers triggerscripts; do  rpm -q -p --$ "$" 2>&1 | grep -v NOKEY > "$.log"; done; } rpmUnpack() { f=$(readlink -f "$"); file "$"|grep -q "RPM.v" && \ { d=$(basename "$" .rpm); d="./$"; mkdir -p "$" && \ { cd "$" && rpm2cpio "$" | cpio -idmv && rpmDetails "$"; }; }; } for f in $@; do rpmUnpack "$"; done exit 0 

Wenn Sie die entpackten Dateien bearbeitet haben, kopieren Sie das oberste Verzeichnis / Verzeichnis nach BUILDROOT /. Wenn / wenn rpmbuild -bb name.spec"nicht gefunden" gemeldet wird, erstellen Sie den Ordner mit dem in BUILDROOT / abgefragten App-Namen, und kopieren Sie Ihre Dateien dort. Und rpmbuild -bb name.specwieder laufen .

Mein empfohlenes Setup für rpmbuild: http://www.linuxquestions.org/questions/linux-software-2/need-rpm-package-for-php-version-5-2-7-und-up-on-redhat-5 -1-a-766486 / # 13

Danke, das ist sehr nützlich. Ich habe jedoch eine weitere Frage: Nach dem Auspacken kann ich die Datei ändern, die ich ändern möchte. Ist es nur ein Fall, in dem Sie die Quellen (in ihren Verzeichnissen) in das Verzeichnis rpmbuild / SOURCES kopieren und dann eine Spezifikationsdatei erstellen / abrufen und in rpmbuild / SPECS platzieren, bevor Sie den Befehl rpmbuild ausführen. Oder muss ich noch etwas tun? B. SAUNDERS vor 7 Jahren 0
Nicht quelle Die Dateien können tatsächlich in jeden neuen Ordner kopiert werden. Oder zu BUILDROOT /. Siehe meine bearbeitete Antwort. Knud Larsen vor 7 Jahren 0