Come estrarre RPM dal database RPM su Red Hat Enterprise Linux


8

C'è un modo per estrarre un RPM installato da un database RPM su Red Hat Enterprise Linux per riprodurre il .rpmfile originale ?


Perché questo titolo è stato modificato? Red Hat è il nome del software, non RedcHat
Ramhound,

Risposte:


7

Se vuoi salvare una copia del pacchetto come attualmente installato prima di aggiornarlo o rimuoverlo, usa rpm --repackage- salverà gli RPM in / var / tmp o / var / spool / repackage o altrove, a seconda della configurazione.

Altrimenti esiste rpmrebuild, il che fa esattamente quello che chiedi.

Avvertenza: con nessuno di questi strumenti ottieni esattamente lo stesso *.rpmdi quello da cui sei partito. Qualsiasi modifica ai file installati appartiene al pacchetto sarà negli RPM generati.


1
Credo che vale la pena di notare che rpm --repackagesi Re-package the files before erasing rpm.org/max-rpm-snapshot/rpm.8.html ho quasi fatto funzionare questo comando alla cieca, ma guardato i documenti legati prima.
Kevin Meredith,

rpm --repackagenon sembra essere disponibile sui sistemi più recenti (ad es. RHEL 7). rpmrebuildè disponibile nell'EPEL per RHEL 7 e ha fatto il trucco per me.
Jayhendren,

1

La produzione del file rpm originale non è possibile, è stata estratta e probabilmente scartata. Il database rpm contiene informazioni sui file installati e sui relativi checksum, autorizzazioni e script postinst:

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

ti darà alcune informazioni.

Se si desidera ottenere un numero di giri dal repository, si consiglia di utilizzare yumdownloader, dal pacchetto yum-utils.

yum install yum-utils
yumdownloader packagename

Questo scaricherà l'ultimo numero di giri, non quello attualmente installato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.