Red Hat Enterprise LinuxでRPMデータベースからRPMを抽出する方法


8

Red Hat Enterprise LinuxのRPMデータベースからインストール済みのRPMを抽出して、元の.rpmファイルを再現する方法はありますか?


このタイトルが変更されたのはなぜですか?Red HatはRedcHatでは
Ramhound

回答:


7

アップグレードまたは削除する前に、現在インストールされているパッケージのコピーを保存するrpm --repackage場合は、構成に応じてRPMを/ var / tmpまたは/ var / spool / repackageなどに保存します。

それ以外の場合は、が存在しrpmrebuildます。

注意:これらのツールのどちらでも、最初のツールとまったく同じ*.rpmものは入手できません。パッケージに属するインストール済みファイルへの変更は、生成されたRPMに含まれます。


1
rpm.org/max-rpm-snapshot/rpm.8.htmlはこのコマンドをほとんど盲目的に実行しましたが、最初にリンクされたドキュメントを調べたことに注意する価値があるrpm --repackageRe-package the files before erasing 思います。
ケビンメレディス2013年

rpm --repackage新しい(RHEL 7などの)システムでは利用できないようです。rpmrebuildRHEL 7のEPELで利用でき、私のためにトリックを行いました。
jayhendren 2017

1

元のrpmファイルを生成することは不可能であり、抽出され、おそらく破棄されます。rpmデータベースには、インストールされているファイルとそのチェックサム、権限、およびpostinstスクリプトに関する情報があります。

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

いくつかの情報を提供します。

リポジトリからrpmを取得する場合は、yum-utilsパッケージのyumdownloaderを使用することをお勧めします。

yum install yum-utils
yumdownloader packagename

これにより、現在インストールされているものではなく、最新のrpmがダウンロードされます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.