Itu mungkin tetapi sangat sulit untuk dilakukan sehingga dilakukan dengan benar. Jika Anda putus asa, Anda dapat membuat .spec
file RPM baru dan membuat file RPM (SRPM) sumber "palsu" yang kemudian dapat Anda gunakan untuk membuat file RPM yang dihasilkan menggunakan rpmbuild --rebuild
.
Saya akan terus mencari RPM yang sebenarnya. Anda tidak menyatakan yang mana dalam pertanyaan Anda, tetapi merupakan pengalaman saya bahwa Anda dapat menemukan apa pun di internet jika Anda tahu cara mencarinya. Saya telah menemukan versi kuno RPM untuk distro Red Hat yang belum digunakan selama 10+ tahun jadi saya merasa sulit untuk percaya bahwa tidak ada sisa RPM ini di mana pun.
Anda juga sering dapat kembali ke sumber aplikasi yang ada di dalam RPM dan menggunakannya untuk merekonstruksi RPM juga. Sering kali aplikasi sumber akan menyertakan .spec
file yang diperlukan yang digunakan untuk membangun kembali RPM.
Terakhir Anda bisa mendapatkan sumber dan .spec
file dari layanan build seperti distro berbasis Koji untuk Red Hat. SuSE juga mempertahankan layanan build serupa sehingga Anda dapat mencari melalui ini untuk mendapatkan artefak build lama.
Mengambil binari apa adanya
Anda dapat menggunakan metode ini untuk mengangkat executable aktual dari satu sistem dan menaruhnya di atas untuk ditempatkan di sistem lain.
mesin A
$ rpm -ql <packageNameHere> | xargs tar -zcvf /tmp/program.tgz
mesin B
$ tar -zxvf /path/to/your/program.tgz
RPM versi SLES
Menurut salah satu posting di utas ini: Re: Cara membuat RPM rpm
dari paket yang diinstal pada SLES konon memiliki saklar --repackage
. Ini tidak ada pada versi Red Hat (di Fedora atau CentOS). Tetapi menurut pos Anda dapat menggunakannya seperti:
$ rpm -e --repackage <somepackage>
Setelah selesai, Anda akan menemukan RPM Anda dapat diakses di sini:
/var/spool/repackage
Menggunakan rpmerizor
Rpmerizor adalah alat / skrip pihak ketiga yang dapat Anda instal yang akan mengemas ulang file sumber ke dalam RPM yang sesuai. Penggunaan skrip ini dapat diakses di sini, berjudul: Halaman manual rpmerizor .
kutipan
Rpmerizor adalah skrip yang memungkinkan Anda membuat paket RPM dari file yang diinstal. Anda cukup menentukan file pada baris perintah dan menjawab beberapa pertanyaan interaktif untuk mengisi meta-data rpm (nama paket, versi ...). Anda juga dapat menggunakannya dalam mode batch dengan opsi baris perintah untuk meta-data.
Menggunakan rpmrebuild
Tidak perlu bingung dengan alat build rpmbuild
, rpmrebuild
adalah skrip pihak ketiga lain yang dapat Anda gunakan untuk melakukan pengemasan ulang RPM yang sudah diinstal.
kutipan
rpmrebuild adalah alat untuk membangun file RPM dari paket yang telah diinstal dalam penggunaan dasar, rpmrebuild tidak memerlukan pengetahuan pembangunan rpm. (Pada debian, produk yang setara adalah dpkg-repack).
Contoh
Katakanlah kita ingin mengemas kembali openssh-server.
$ rpm -aq | grep openssh-server
openssh-server-6.2p2-8.fc19.x86_64
Sekarang kemas:
$ rpmrebuild openssh-server-6.2p2-8.fc19.x86_64
/usr/lib/rpmrebuild/rpmrebuild.sh: WARNING: some files have been modified:
..?...... c /etc/ssh/sshd_config
..?...... c /etc/sysconfig/sshd
Do you want to continue ? (y/N) y
Do you want to change release number ? (y/N) n
result: /root/rpmbuild/RPMS/x86_64/openssh-server-6.2p2-8.fc19.x86_64.rpm
Referensi