So extrahieren Sie RPM aus der RPM-Datenbank unter Red Hat Enterprise Linux


8

Gibt es eine Möglichkeit, ein installiertes RPM aus einer RPM-Datenbank unter Red Hat Enterprise Linux zu extrahieren, um die Originaldatei zu reproduzieren .rpm?


Warum wurde dieser Titel geändert? Red Hat ist der Name der Software nicht RedcHat
Ramhound

Antworten:


7

Wenn Sie eine Kopie des aktuell installierten Pakets speichern möchten, bevor Sie es aktualisieren oder entfernen, verwenden Sie rpm --repackage- es speichert die RPMs in / var / tmp oder / var / spool / repackage oder anderswo, abhängig von Ihrer Konfiguration.

Ansonsten gibt es welche rpmrebuild, die genau das tun, wonach Sie fragen.

Achtung: Mit keinem dieser Tools erhalten Sie genau das gleiche, *.rpmmit dem Sie begonnen haben. Alle Änderungen an den installierten Dateien, die zum Paket gehören, werden in den generierten RPMs gespeichert.


1
Ich glaube , es Notiz sich lohnt , das rpm --repackagewird Re-package the files before erasing rpm.org/max-rpm-snapshot/rpm.8.html ich diesen Befehl lief fast blind, aber zuerst an den verlinkten Dokumente gesucht.
Kevin Meredith

rpm --repackagescheint auf neueren (z. B. RHEL 7) Systemen nicht verfügbar zu sein. rpmrebuildist im EPEL für RHEL 7 verfügbar und hat den Trick für mich gemacht.
Jayhendren

1

Das Erstellen der ursprünglichen RPM-Datei ist nicht möglich, sie wurde extrahiert und möglicherweise verworfen. Die RPM-Datenbank enthält Informationen zu den installierten Dateien sowie deren Prüfsummen, Berechtigungen und den Postinst-Skripten:

# verify package contents
rpm -q packagename --verify
# read the scripts that run on installation and removal
rpm -q packagename --scripts

wird Ihnen einige Informationen geben.

Wenn Sie eine Drehzahl aus dem Repository erhalten möchten, empfehle ich die Verwendung von yumdownloader aus dem Paket yum-utils.

yum install yum-utils
yumdownloader packagename

Dadurch wird die neueste Drehzahl heruntergeladen, nicht die derzeit installierte.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.