C'è un modo per estrarre un RPM installato da un database RPM su Red Hat Enterprise Linux per riprodurre il .rpm
file originale ?
C'è un modo per estrarre un RPM installato da un database RPM su Red Hat Enterprise Linux per riprodurre il .rpm
file originale ?
Risposte:
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 *.rpm
di quello da cui sei partito. Qualsiasi modifica ai file installati appartiene al pacchetto sarà negli RPM generati.
rpm --repackage
si 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.
rpm --repackage
non 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.
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.