Apakah ada cara untuk mengekstrak RPM yang terinstal dari database RPM di Red Hat Enterprise Linux untuk mereproduksi .rpm
file asli ?
Apakah ada cara untuk mengekstrak RPM yang terinstal dari database RPM di Red Hat Enterprise Linux untuk mereproduksi .rpm
file asli ?
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.
rpm --repackage
akan Re-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:
# verify package contents
rpm -q packagename --verify
# read the scripts that run on installation and removal
rpm -q packagename --scripts
akan memberi Anda beberapa informasi.
Jika Anda ingin mendapatkan rpm dari respositori, saya sarankan menggunakan yumdownloader, dari paket yum-utils.
yum install yum-utils
yumdownloader packagename
Ini akan mengunduh rpm terbaru, bukan yang diinstal saat ini.