Apakah ada cara untuk mengekstrak RPM yang terinstal dari database RPM di Red Hat Enterprise Linux untuk mereproduksi .rpm
file asli ?
redhat-enterprise-linux
rpm
John di MD
sumber
sumber
Jawaban:
Jika Anda ingin menyimpan salinan paket yang saat ini diinstal sebelum meningkatkan atau menghapusnya, gunakan
rpm --repackage
- itu akan menyimpan RPM di / var / tmp atau / var / spool / repackage atau di tempat lain, tergantung pada konfigurasi Anda.Kalau tidak, ada
rpmrebuild
, yang melakukan persis apa yang Anda minta.Peringatan: dengan tidak satu pun dari alat-alat ini Anda mendapatkan yang sama persis
*.rpm
seperti yang Anda mulai. Setiap perubahan pada file yang diinstal milik paket akan di RPM yang dihasilkan.sumber
rpm --repackage
akanRe-package the files before erasing
rpm.org/max-rpm-snapshot/rpm.8.html Saya hampir menjalankan perintah ini secara membabi buta, tetapi melihat dokumen yang ditautkan terlebih dahulu.rpm --repackage
tampaknya tidak tersedia pada sistem yang lebih baru (misalnya, RHEL 7).rpmrebuild
tersedia di EPEL untuk RHEL 7 dan melakukan trik untuk saya.Memproduksi file rpm asli tidak dimungkinkan, itu telah diekstraksi dan mungkin dibuang. Basis data rpm memiliki informasi tentang file apa yang diinstal dan checksum, izin, dan skrip postinst mereka:
akan memberi Anda beberapa informasi.
Jika Anda ingin mendapatkan rpm dari respositori, saya sarankan menggunakan yumdownloader, dari paket yum-utils.
Ini akan mengunduh rpm terbaru, bukan yang diinstal saat ini.
sumber