Bagaimana cara saya menginstal dan mengelola RPM?


85

Saya memiliki keinginan yang membara untuk menginstal RPM ke instalasi Ubuntu saya - apakah ini mungkin? Bisakah saya menggunakan Yum - atau alat Manajemen Paket RPM lainnya?


Mengapa? Jenis perangkat lunak apa yang Anda lewatkan yang tidak dapat Anda temukan di Ubuntu atau PPA? Konversi rpms dengan alien berfungsi, tetapi itu benar-benar bukan pilihan terbaik.
ℝaphink

Dalam pekerjaan saya, saya seorang Administrator Sistem linux dan saya terutama mengelola mesin Redhat. Saya suka Ubuntu karena saya tidak harus membawa pulang pekerjaan saya, tetapi beberapa hal yang digunakan Debian untuk konfigurasi (terutama Apache) benar-benar membuat saya gila. Saya lebih suka cara RH memelihara perangkat lunak apache. Jadi mempertahankan dua solusi manajemen paket (yum dan bakat) sepertinya solusi yang lebih ideal (jika memungkinkan)
Marco Ceppi

Informasi terkait: wiki rpm dan yum tag.
Eliah Kagan

Jawaban:


117

Bisakah saya menggunakan Yum

Saya tidak akan merekomendasikannya. Anda mungkin dapat mengompilasinya tetapi Anda tidak akan memiliki repositori paket yang kompatibel dengan Ubuntu untuk ditangani.

Anda dapat mengonversi file RPM tunggal menjadi DEB dengan Alien:

sudo apt-get install alien
sudo alien my_package.rpm
sudo dpkg -i my_package.deb

Catatan: Ini mungkin mengubah nama file sedikit lebih dari sekedar ekstensi.

Ini tidak akan berfungsi untuk semuanya karena paket menghubungkan ke paket lain untuk memenuhi dependensi. Jelas Red Hat / Fedora / CentOS menggunakan nama paket yang berbeda untuk Ubuntu sehingga Anda mungkin akan mengalami banyak rasa sakit.

Kemungkinannya adalah jika DEB tidak ada, Anda akan lebih baik hanya mendapatkan sumber dan mengompilasinya.


3
jika alien tidak bekerja dan Anda akhirnya menggunakan kode sumber secara langsung, Anda dapat mengubah bahwa ke .deb menggunakan checkinstall (yang dalam repositori semesta, tidak terinstal secara default).
ImaginaryRobots

Checkinstall digunakan sebagai pengganti make installdan sangat berguna untuk digunakan. Mampu menghapus paket jelas merupakan nilai tambah!
aperson

checkinstallsangat bagus untuk mempertahankan pembangunan sendiri di lingkungan yang dikemas tetapi memiliki beberapa kebiasaan yang kadang-kadang berarti sesuatu yang akan diinstal make installtidak akan diinstal. Saya menggunakannya ketika saya bisa.
Oli

3
Anda dapat melakukan alien --install my_package.rpm.
tshepang

Saya mencoba menginstal versi terbaru lftp dengan cara ini, tetapi tidak memperbarui dependensi, jadi lftp gagal untuk mulai mencoba memuat dengan:error while loading shared libraries: libreadline.so.7
Crouching Kitten

15

Anda harus alienmelakukan itu.

sudo apt-get install alien

Ini akan menginstal semua paket yang diperlukan. Sekarang Anda dapat mulai mengonversi file .rpm Anda menjadi paket .deb.

Opsi yang tersedia untuk alien:

Konversikan package.rpm menjadi package.deb

sudo alien -d package-name.rpm

Konversikan package.rpmmenjadi a package.deb, dan instal paket yang dihasilkan.

alien -i package-name.rpm

Jika Anda ingin menjaga alien dari mengubah nomor versi gunakan perintah berikut

alien -k rpm-package-file.rpm

6

Jawaban singkatnya adalah, Jangan!

Jika Anda mendapatkan RPM yang sangat penting sehingga Anda perlu memilikinya, mungkin ada paket Ubuntu juga; dan, jika tidak, mungkin layak melalui kesulitan mengkompilasinya dari sumber ke dalam format paket Debian (yang digunakan Ubuntu juga). Sekarang, ada saat-saat tertentu ketika Anda tidak bisa hanya mengkompilasi ulang perangkat lunak (jika tidak open source tidak mungkin) dan dalam hal ini Anda dapat menggunakan alienprogram. Tapi, memasang dari RPM sama seperti memasukkan bensin ke dalam mobil diesel - mungkin berhasil, tetapi Anda tidak akan mendapat manfaatnya dalam jangka panjang!

Untuk membangun paket dari sumber, ada panduan di Wiki Ubuntu; ada juga program yang disebut checkinstall yang dapat melakukan beberapa trik dengan source-tree default tanpa mengatur instruksi build untuk paket. Jika Anda berpikir bahwa orang lain dapat mengambil manfaat dari program yang Anda kompilasi, Anda dapat mengatur repositori pada launchpad dan membagikan kebaikan paketnya!


tidak benar-benar menjawab pertanyaan, jadi -1
Dee

3

Jika Anda benar-benar perlu menginstal RPM di sistem Anda, Anda memang harus mencoba mengubahnya menggunakan 'alien'.

Harap diingat bahwa secara default 'alien' akan ikut campur dengan nomor versi paket. Jika Anda ingin nomor versi tetap sama, berikan opsi '-k' saat mengonversi.

Anda sebaiknya tidak mencoba menggunakan Yum atau cara lain menginstal RPM, seperti apt-rpm, sendiri di sebelah paket DEB yang ada. Sistem DEB dan RPM mengelola daftar perangkat lunak yang diinstal secara terpisah dan karenanya tidak tahu paket apa yang diinstal sebelumnya oleh sistem lain. Jika, misalnya, Anda akan mencoba untuk menginstal aplikasi yang mengandung GUI dengan sistem manajemen paket berbasis RPM, ia akan mencoba untuk menginstal komponen sistem vital itu sendiri, karena dianggap belum diinstal. Ini akan menyebabkan instalasi gagal, atau menimpa file-file sistem vital.


3

Ada manajer paket GUI bernama SmartPM pada Repos, ia dapat menangani .deb DAN .RPM. Canonical berkontribusi pada proyek ini hingga November 2009.

Halaman muka proyek ada di sini https://github.com/smartpm/smart


Selamat Datang di Tanya Ubuntu! Saya sarankan untuk mengedit jawaban ini untuk meluaskannya dengan perincian spesifik tentang bagaimana menggunakannya. (Lihat juga Bagaimana cara saya menulis jawaban yang baik? Untuk saran umum tentang jenis jawaban apa yang dianggap paling berharga di Ask Ubuntu.)
David Foerster

2

Alien adalah alat yang mengkonversi dari satu format (.deb atau .rpm) ke yang lain (.deb, .rpm atau tarball)

Alien tidak disarankan untuk digunakan dalam mengkonversi dari .deb ke .rpm sempurna untuk digunakan dalam mengkonversi .deb ke tarballs

Meskipun Alien berusaha untuk melestarikan meta-data saat mengkonversi tetapi masih akan memiliki masalah Metadata & ketergantungan membuat paket kurang dapat diandalkan dan dengan demikian akan konflik saat menambah atau menghapus paket distribusi di masa depan.


2

Sebenarnya pilihan terpendek adalah

sudo alien -i -k packagename.rpm

Tidak punya alien? Dapatkan Satu!

sudo apt-get install alien

Alien akan mengonversi paket rpm menjadi paket deb, opsi -i berarti menginstal paket yang dikonversi setelah dikonversi dan opsi -k memastikan versi bukan +1 setelah konversi.


2

Ikuti instruksi ini:

alien -k avg71lms-r30-a0782.i386.rpm

Sekarang Anda harus memiliki avg71lms-r30-a0782.i386.debfile.

Untuk menginstal file deb:

dpkg -i avg71lms-r30-a0782.i386.deb

Jika Anda tidak menggunakan -kopsi, Anda akan melihat avg71lms_r30-1_i386.debfile perbedaannya itu akan menambah 1.

Instal alien di Ubuntu:

sudo apt-get install alien

Anda dapat memeriksa bagian di atas untuk opsi yang tersedia


1

Dengan alien, saya cukup mengonversi file .rpm ke file .deb dan cukup menginstalnya.

Alien tersedia di repositori Debian normal, jadi kita dapat menginstalnya seperti ini:

sudo apt-get install alien

Untuk mengonversinya menjadi paket .deb, cukup jalankan

alien *.rpm

Anda kemungkinan besar ingin menggunakan beberapa bendera dengan alien. Paling tidak, itu akan memperingatkan Anda tentang tidak mengonversi skrip tanpa secara eksplisit menentukan --scripts(atau -c)
Randall


0

Ini adalah GUI untuk Alien (alien adalah aplikasi untuk mengubah rpm menjadi deb)

http://code.google.com/p/foxoman/wiki/PackageConverter


-1 Apa itu "Alien" dan bagaimana hubungannya dengan instalasi RPM di Ubuntu?
David Foerster

1
@DavidFoerster alien adalah aplikasi untuk mengubah rpm menjadi deb
Anwar

2
Jangan bilang, edit jawaban Anda untuk memberi tahu orang-orang yang mungkin ingin mendapat manfaat darinya. Selanjutnya saya sarankan untuk mengedit jawaban ini untuk memperluasnya dengan detail spesifik tentang bagaimana melakukan ini. (Lihat juga Bagaimana cara menulis jawaban yang baik? Untuk saran umum tentang jenis jawaban apa yang dianggap paling berharga di Ask Ubuntu.)
David Foerster
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.