GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengonversi Paket Dari 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), kompilasi dari sumber (meskipun agak jarang hari ini, itu adalah satu-satunya metode yang tersedia selama hari-hari awal Linux), atau menggunakan alat tingkat rendah seperti dpkg atau rpm dengan .deb dan .rpm paket mandiri yang telah dikompilasi sebelumnya.

Dalam artikel ini kami akan memperkenalkan Anda kepada alien , alat yang mengonversi antara format paket Linux yang berbeda, dengan .rpm ke .deb (dan sebaliknya) menjadi penggunaan yang paling umum.

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

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

Karena itu, kami harus mengklarifikasi bahwa utilitas ini tidak boleh digunakan untuk mengganti file dan pustaka sistem yang penting karena mereka diatur secara berbeda di seluruh distribusi. Hanya gunakan alien sebagai upaya terakhir jika metode penginstalan yang disarankan di awal artikel ini tidak cocok untuk program yang diperlukan.

Last but not least, 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:Memasang Alien dan Dependensi

Untuk memasang alien di CentOS /RHEL 7 , Anda harus mengaktifkan EPEL dan Nux Dextop (ya, ini adalah repositori 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 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 telah memilih dateutils , yang menyediakan kumpulan tanggal dan waktu utilitas untuk menangani sejumlah besar data keuangan. Kami akan mengunduh .deb paket ke CentOS 7 . kami kotak, ubah menjadi .rpm dan instal:

# 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 –keep-version bendera).

Jika kami mencoba menginstal paket 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 instal rpmrebuild utilitas untuk mengedit pengaturan paket yang akan dibangun kembali:

# yum --enablerepo=epel-testing install rpmrebuild

Kemudian jalankan,

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

Yang akan membuka editor teks default Anda. Buka %files bagian 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 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 alat individual yang disertakan dengan dateutils dan sebagai alternatif periksa halaman manual 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 Debian Wheezy 32-bit kotak, mari unduh .rpm paket untuk zsh shell dari CentOS 6 OS gudang. 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, .deb file seharusnya sudah dibuat dan siap dipasang:

# dpkg -i zsh_4.3.11-5_i386.deb

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

# cat /etc/shells

Ringkasan

Dalam 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 akan ingin menandai artikel ini karena kita semua akan membutuhkan alien pada satu waktu atau yang lain.

Jangan ragu untuk menyampaikan pendapat Anda tentang artikel ini menggunakan formulir di bawah ini.


Linux
  1. Cara menampilkan informasi paket tambahan menggunakan yum dan yumdb – RedHat Linux

  2. Cara Mendaftar File yang Diinstal Dari Paket RPM atau DEB di Linux

  3. Bagaimana Cara Membuat Paket .deb Dari Github?

  1. Debian:Cara Menginstal atau Menghapus Paket DEB Menggunakan dpkg

  2. Cara Menginstal MongoDB dari Sumber (dan menggunakan YUM) di Linux

  3. Bagaimana cara memodifikasi paket deb?

  1. Cara Membangun Paket Dari Sumber Menggunakan CheckInstall

  2. Cara membuat paket RPM Linux

  3. Bagaimana cara mengonversi dari hari ke tahun dan tahun ke tanggal YYYYMMDD?