Cara mengkonversi dari rpm ke deb dan deb ke paket rpm menggunakan alien

Cara mengkonversi dari rpm ke deb dan deb ke paket rpm menggunakan alien

Seperti yang saya yakin sudah Anda ketahui, ada banyak cara untuk menginstal perangkat lunak di Linux: menggunakan sistem manajemen paket yang disediakan oleh distribusi Anda (Aptitude, Yum, atau Zypper, untuk beberapa contoh), menyusun dari sumber (meskipun agak Langka 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 masing -masing mandiri, paket yang dikompilasi.

Konversi RPM ke Deb dan Deb ke paket RPM menggunakan Alien

Di artikel ini kami akan memperkenalkan Anda asing, alat yang dikonversi di antara format paket Linux yang berbeda, dengan .RPM ke .Deb (dan sebaliknya) menjadi penggunaan yang paling umum.

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

Misalnya, asing Menyelamatkan hari saya sekali ketika saya sedang mencari a .Deb pengemudi untuk a Inkjet printer dan tidak dapat menemukannya - pabrikan hanya memberikan a .RPM kemasan. Saya menginstal alien, mengonversi paket, dan tak lama kemudian saya dapat menggunakan printer saya tanpa masalah.

Yang mengatakan, kita harus mengklarifikasi bahwa utilitas ini tidak boleh digunakan untuk menggantikan file dan perpustakaan sistem penting karena mereka diatur secara berbeda di seluruh distribusi. Hanya menggunakan alien sebagai pilihan terakhir jika metode instalasi yang disarankan di awal artikel ini tidak ada pertanyaan 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 Slackware dan bahkan di Solaris, Selain dua distribusi pertama dan keluarga masing -masing.

Langkah 1: Memasang Alien dan Ketergantungan

Untuk memasang asing di dalam Centos/RHEL 7, Anda perlu mengaktifkan Epel dan Nux Dextop (Ya, ini DEXTOP - bukan desktop) repositori, dalam urutan itu:

# YUM Instal Epel-Release # RPM-Import http: // li.Nux.ro/download/nux/rpm-gpg-key-nux.ro 

Versi terbaru dari paket yang memungkinkan repositori ini saat ini 0.5 (Diterbitkan di Agustus. 10, 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 lanjut:

# 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 dalam Fedora, Anda hanya perlu menjalankan perintah terakhir.

Dalam Debian dan Derivatif, cukup lakukan:

# aptitude instal alien 

Langkah 2: Konversi dari .deb to .Paket RPM

Untuk tes ini kami telah memilih dateutils, yang menyediakan satu set tanggal Dan waktu utilitas untuk menangani sejumlah besar data keuangan. Kami akan mengunduh .Deb paket ke kami Centos 7 kotak, konversinya .RPM dan instal:

Periksa versi CentOS
# cat/etc/centos-rilis # wget http: // ftp.kita.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 
Mengubah .deb to .Paket RPM di Linux

Penting: (Harap perhatikan bagaimana, secara default, alien meningkatkan versi kecil dari paket target. Jika Anda ingin mengesampingkan perilaku ini, tambahkan -Keep-Versi bendera).

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

# rpm -uvh dateutils -0.3.1-2.1.x86_64.RPM 
Instal Paket RPM

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

# yum --enablerepo = instalasi pengujian epel rpmrebuild 

Lalu lari,

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

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

Mengubah .Deb to Alien Version

Saat Anda KELUAR file yang akan Anda 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 
Bangun paket 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 
Instal Paket Bangun RPM

Akhirnya, Anda dapat membuat daftar alat individual yang disertakan dateutils dan sebagai alternatif memeriksa halaman pria masing -masing:

# ls -l /usr /bin | GREP Dateutils 
Verifikasi paket RPM yang diinstal

Langkah 3: Konversi dari .rpm ke .Paket Deb

Di bagian ini kita akan mengilustrasikan cara mengonversi dari .RPM ke .Deb. Dalam 32-bit Debian Wheezy kotak, mari kita unduh .RPM paket untuk zsh cangkang dari Centos 6 Os gudang. Perhatikan bahwa cangkang ini tidak tersedia secara default di Debian dan Derivatif.

# Cat /etc /shells # lsb_release -a | ekor -n 4 
Periksa Versi OS Shell dan Debian
# wget http: // mirror.centos.org/centos/6/os/i386/paket/zsh-4.3.11-4.EL6.centos.I686.rpm # alien ---to-deb --cripts zsh-4.3.11-4.EL6.centos.I686.RPM 

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

Mengubah .rpm ke .Paket Deb

Setelah beberapa saat, .Deb File seharusnya dihasilkan dan siap menginstal:

# dpkg -i zsh_4.3.11-5_i386.Deb 
Instal RPM yang dikonversi Paket Deb

Setelah instalasi, Anda dapat memverifikasi itu zsh ditambahkan ke daftar cangkang yang valid:

# kucing /etc /shells 
Konfirmasi paket zsh terpasang

Ringkasan

Dalam artikel ini kami telah menjelaskan cara mengonversi .rpm ke .Deb dan sebaliknya untuk menginstal paket sebagai pilihan 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 membagikan pemikiran Anda tentang artikel ini menggunakan formulir di bawah ini.