Czy istnieje sposób na wyodrębnienie zainstalowanego RPM z bazy danych RPM w Red Hat Enterprise Linux w celu odtworzenia oryginalnego .rpm
pliku?
redhat-enterprise-linux
rpm
John w MD
źródło
źródło
Odpowiedzi:
Jeśli chcesz zapisać kopię pakietu jako aktualnie zainstalowaną przed aktualizacją lub usunięciem, użyj
rpm --repackage
- zapisze RPM w / var / tmp lub / var / spool / repackage lub gdzie indziej, w zależności od konfiguracji.W przeciwnym razie istnieje coś
rpmrebuild
, co robi dokładnie to, o co prosisz.Uwaga: z żadnym z tych narzędzi nie otrzymujesz dokładnie tego samego,
*.rpm
od którego zacząłeś. Wszelkie zmiany w zainstalowanych plikach należą do pakietu będą w wygenerowanych RPM.źródło
rpm --repackage
będzieRe-package the files before erasing
rpm.org/max-rpm-snapshot/rpm.8.html I prawie zabrakło tego polecenia ślepo, ale spojrzał na połączonych docs pierwszy.rpm --repackage
nie wydaje się być dostępny w nowszych systemach (np. RHEL 7).rpmrebuild
jest dostępna w EPEL dla RHEL 7 i załatwiła sprawę dla mnie.Utworzenie oryginalnego pliku rpm nie jest możliwe, zostało ono wyodrębnione i prawdopodobnie odrzucone. Baza danych rpm zawiera informacje o tym, jakie pliki są zainstalowane oraz ich sumy kontrolne, uprawnienia i skrypty postinst:
da ci trochę informacji.
Jeśli chcesz uzyskać rpm z repozytorium, polecam użycie yumdownloadera z pakietu yum-utils.
Spowoduje to pobranie najnowszej liczby obrotów na minutę, a nie tej, która jest obecnie zainstalowana.
źródło