Existe-t-il un moyen d'extraire un RPM installé à partir d'une base de données RPM sur Red Hat Enterprise Linux pour reproduire le .rpm
fichier d' origine ?
redhat-enterprise-linux
rpm
John dans MD
la source
la source
Réponses:
Si vous souhaitez enregistrer une copie du package tel qu'il est actuellement installé avant de le mettre à niveau ou de le supprimer, utilisez
rpm --repackage
- il enregistrera les RPM dans / var / tmp ou / var / spool / repackage ou ailleurs, selon votre configuration.Sinon, il existe
rpmrebuild
, qui fait exactement ce que vous demandez.Attention: avec aucun de ces outils, vous n'obtenez exactement le même
*.rpm
que celui à partir duquel vous êtes parti. Toutes les modifications apportées aux fichiers installés appartiennent au package seront dans les RPM générés.la source
rpm --repackage
vaRe-package the files before erasing
rpm.org/max-rpm-snapshot/rpm.8.html je presque couru cette commande aveuglément, mais regardé les documents liés en premier.rpm --repackage
ne semble pas être disponible sur les systèmes plus récents (par exemple, RHEL 7).rpmrebuild
est disponible dans l'EPEL pour RHEL 7 et a fait l'affaire pour moi.La production du fichier rpm d'origine n'est pas possible, il a été extrait et peut-être supprimé. La base de données rpm contient des informations sur les fichiers installés et leurs totaux de contrôle, autorisations et scripts postinst:
vous donnera quelques informations.
Si vous souhaitez obtenir un rpm du référentiel, je vous recommande d'utiliser yumdownloader, à partir du package yum-utils.
Cela téléchargera le dernier rpm, pas celui qui est actuellement installé.
la source