Cara Mengonversi Paket RPM ke DEB dan DEB ke RPM Menggunakan Alien


Seperti yang saya yakin Anda sudah tahu, ada banyak cara untuk menginstal perangkat lunak di Linux: menggunakan sistem manajemen paket yang disediakan oleh distribusi Anda (aptitude, yum, atau zypper, untuk menyebutkan beberapa contoh), mengkompilasi dari sumber (meskipun agak jarang ditemukan saat ini, ini adalah satu-satunya metode yang tersedia pada masa awal Linux), atau menggunakan alat tingkat rendah seperti dpkg atau rpm dengan .deb< dan .rpm masing-masing merupakan paket yang berdiri sendiri dan telah dikompilasi.

Pada artikel ini kami akan memperkenalkan Anda pada alien, sebuah alat yang mengkonversi berbagai format paket Linux, dari .rpm ke .deb (dan sebaliknya sebaliknya) menjadi penggunaan yang paling umum.

Alat ini, meskipun pembuatnya tidak lagi memeliharanya dan menyatakan di situs webnya bahwa alien mungkin akan selalu tetap dalam status percobaan, dapat berguna jika Anda memerlukan jenis paket tertentu tetapi hanya dapat menemukan program tersebut dalam format paket lain.

Misalnya, alien menyelamatkan hari saya satu kali ketika saya sedang mencari driver .deb untuk printer inkjet dan tidak dapat menemukannya – pabrikan hanya menyediakan paket .rpm. Saya menginstal alien, mengonversi paketnya, dan tak lama kemudian saya dapat menggunakan printer saya tanpa masalah.

Oleh karena itu, kami harus mengklarifikasi bahwa utilitas ini tidak boleh digunakan untuk menggantikan file dan pustaka sistem yang penting karena keduanya diatur secara berbeda di seluruh distribusi. Gunakan alien hanya sebagai pilihan terakhir jika metode instalasi yang disarankan di awal artikel ini tidak dapat dilakukan untuk program yang diperlukan.

Terakhir, kita harus mencatat bahwa meskipun kita akan menggunakan CentOS dan Debian dalam artikel ini, alien juga diketahui bekerja di Slackware dan bahkan di Solaris, selain dua distribusi pertama dan keluarga masing-masing.

Langkah 1: Menginstal Alien dan Dependensi

Untuk menginstal alien di CentOS/RHEL 7, Anda harus mengaktifkan EPEL dan Nux Repositori Dextop (ya, ini Dextop – bukan Desktop), dengan urutan sebagai berikut:

yum install epel-release
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

Versi terbaru dari paket yang mengaktifkan repositori ini saat ini adalah 0.5 (diterbitkan pada 10 Agustus 2015). Anda harus memeriksa http://li.nux.ro/download/nux/dextop/el7/x86_64/ untuk melihat apakah ada versi yang lebih baru sebelum melanjutkan lebih jauh:

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

lalu lakukan,

yum update && yum install alien

Di Fedora, Anda hanya perlu menjalankan perintah terakhir.

Di Debian dan turunannya, cukup lakukan:

aptitude install alien

Langkah 2: Mengonversi dari Paket .deb ke .rpm

Untuk pengujian ini kami memilih dateutils, yang menyediakan serangkaian utilitas tanggal dan waktu untuk menangani data keuangan dalam jumlah besar. Kami akan mengunduh paket .deb ke kotak CentOS 7 kami, mengubahnya menjadi .rpm dan menginstalnya:

cat /etc/centos-release
wget http://ftp.us.debian.org/debian/pool/main/d/dateutils/dateutils_0.3.1-1.1_amd64.deb
alien --to-rpm --scripts dateutils_0.3.1-1.1_amd64.deb

Penting: (Harap perhatikan bagaimana, secara default, alien meningkatkan nomor versi minor dari paket target. Jika Anda ingin mengganti perilaku ini, tambahkan – tanda keep-version).

Jika kami mencoba menginstal paket tersebut segera, kami akan mengalami sedikit masalah:

rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm 

Untuk mengatasi masalah ini, kami akan mengaktifkan repositori pengujian epel dan menginstal utilitas rpmrebuild untuk mengedit pengaturan paket yang akan dibangun kembali:

yum --enablerepo=epel-testing install rpmrebuild

Lalu lari,

rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm

Yang akan membuka editor teks default Anda. Buka bagian %files dan hapus baris yang merujuk ke direktori yang disebutkan dalam pesan kesalahan, lalu simpan file dan keluar:

Saat Anda keluar file, Anda akan diminta untuk melanjutkan pembangunan kembali. Jika Anda memilih Y, file akan dibangun kembali ke dalam direktori yang ditentukan (berbeda dari direktori kerja saat ini):

rpmrebuild –pe dateutils-0.3.1-2.1.x86_64.rpm

Sekarang Anda dapat melanjutkan untuk menginstal paket dan memverifikasi seperti biasa:

rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm
rpm -qa | grep dateutils

Terakhir, Anda dapat membuat daftar masing-masing alat yang disertakan dengan dateutils dan sebagai alternatif, periksa halaman manualnya masing-masing:

ls -l /usr/bin | grep dateutils

Langkah 3: Mengonversi dari Paket .rpm ke .deb

Di bagian ini kami akan mengilustrasikan cara mengonversi dari .rpm ke .deb. Dalam kotak Debian Wheezy 32-bit, mari unduh paket .rpm untuk shell zsh dari CentOS 6 OS repositori. Perhatikan bahwa shell ini tidak tersedia secara default di Debian dan turunannya.

cat /etc/shells
lsb_release -a | tail -n 4

wget http://mirror.centos.org/centos/6/os/i386/Packages/zsh-4.3.11-4.el6.centos.i686.rpm
alien --to-deb --scripts zsh-4.3.11-4.el6.centos.i686.rpm

Anda dapat dengan aman mengabaikan pesan tentang tanda tangan yang hilang:

Setelah beberapa saat, file .deb seharusnya sudah dibuat dan siap dipasang:

dpkg -i zsh_4.3.11-5_i386.deb

Setelah instalasi, Anda dapat memverifikasi bahwa zsh ditambahkan ke daftar shell yang valid:

cat /etc/shells

Ringkasan

Pada artikel ini kami telah menjelaskan cara mengonversi dari .rpm ke .deb dan sebaliknya untuk menginstal paket sebagai upaya terakhir ketika program tersebut tidak tersedia di repositori atau sebagai kode sumber yang dapat didistribusikan. Anda pasti ingin menandai artikel ini karena kita semua pasti membutuhkan alien pada suatu saat.

Jangan ragu untuk membagikan pemikiran Anda tentang artikel ini menggunakan formulir di bawah ini.