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
?
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
?
Antworten:
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, *.rpm
mit dem Sie begonnen haben. Alle Änderungen an den installierten Dateien, die zum Paket gehören, werden in den generierten RPMs gespeichert.
rpm --repackage
wird 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.
rpm --repackage
scheint auf neueren (z. B. RHEL 7) Systemen nicht verfügbar zu sein. rpmrebuild
ist im EPEL für RHEL 7 verfügbar und hat den Trick für mich gemacht.
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.