RPM'leri nasıl yüklerim ve yönetirim?


85

RPunt'ları Ubuntu kurulumuma yüklemek için yanma arzum var - bu mümkün mü? Yum - veya başka bir RPM Paket Yönetimi aracını kullanabilir miyim?


Neden? Ubuntu veya PPA'larda bulamadığınız ne tür bir yazılım eksik? RPM'leri yabancı eserler ile dönüştürme, ancak bu gerçekten en iyi seçenek değil.
Ağustos'ta

Gündelik işimde linux Sistem Yöneticisiyim ve çoğunlukla Redhat makineleri yönetiyorum. Ubuntu'yu seviyorum, çünkü işimi yanımda eve götürmem gerekmiyor, ancak Debian'ın yapılandırma için kullandığı bazı şeyler (özellikle Apache) beni gerçekten delirtiyor. RH'in apache yazılımını korumasını tercih ederim. Bu yüzden iki paket yönetimi çözümünü sürdürmek (yetenek ve yetenek) daha ideal bir çözüm gibi görünüyor (eğer mümkünse)
Marco Ceppi

İlgili bilgiler: rpm ve yum etiketi wikis.
Eliah Kagan

Yanıtlar:


117

Yum kullanabilir miyim

Bunu tavsiye etmem. Muhtemelen onu derleyebilirsin ama işlemesi için herhangi bir Ubuntu uyumlu paket deponuz olmazdı.

Sen edebilirsiniz with the Alien DEB içine tek RPM dosyalarını dönüştürme:

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

Not: Dosya adını yalnızca uzantıdan biraz daha fazla değiştirebilir.

Bu, bağımlılıkların yerine getirilmesi için paketlerin diğer paketlere bağlanmasıyla her şey için işe yaramaz. Belli ki Red Hat / Fedora / CentOS, Ubuntu için farklı paket isimleri kullanıyor, bu yüzden muhtemelen çok fazla acı çekiyorsunuz.

Şayet DEB mevcut değilse, sadece kaynağı almak ve derlemek daha iyi olacaktır.


3
yabancı çalışmıyor ve doğrudan kaynak kodu kullanarak sonuna yoksa, açabilirsiniz o (değil varsayılan olarak yüklenir evren depo, olan) checkinstall kullanarak bir .deb içine.
ImaginaryRobots

Checkinstall yerine kullanılır make installve sahip olması çok kullanışlıdır. Paketleri kaldırabilmek kesinlikle bir artı!
aperson

checkinstallpaketlenmiş bir ortamda kendi kendini inşa etmeyi sürdürmek için harikadır ancak bazen kurulacak bir şeyin yüklenmeyeceği anlamına gelen bazı tuhaflıklar vardır make install. Kullanabildiğimde kullanırım.
Oli

3
yapabilirsin alien --install my_package.rpm.
tshepang

Ben lftp Bu şekilde en yeni sürümünü yüklemek için çalıştı, ama bağımlılıkları güncelleme yoktu, bu yüzden lftp ile yüklemeye çalışırken başlatmak için başarısız:error while loading shared libraries: libreadline.so.7
Çömelen Kitten

15

Bunu yapmanız gerekecek alien.

sudo apt-get install alien

Bu gerekli tüm paketleri kurar. Şimdi .rpm dosyalarınızı .deb paketlerine dönüştürmeye başlayabilirsiniz.

Kullanılabilir Seçenekler alien:

Package.rpm'yi bir package.deb dosyasına dönüştürün

sudo alien -d package-name.rpm

package.rpmİçine a dönüştürün ve package.deboluşturulan paketi yükleyin.

alien -i package-name.rpm

Yabancıyı sürüm numarasını değiştirmekten korumak istiyorsanız, aşağıdaki komutu kullanın

alien -k rpm-package-file.rpm

7

Kısa cevap, yapma !

Sahip olmanız gereken çok önemli bir RPM'niz varsa, muhtemelen bir de Ubuntu paketi vardır; ve eğer değilse, muhtemelen kaynağından Debian paket formatına (Ubuntu'nun kullandığı şekilde) derleme zahmetinden geçmeye değer. Şimdi, yazılımı tekrar derleyemeyeceğiniz (açık kaynak kodlu değilse mümkün değildir) ve bu durumda alienprogramı kullanabileceğiniz belli zamanlar vardır . Ancak, RPM'lerden yükleme yapmak, dizel arabaya benzin koymak gibi bir şey - işe yarayabilir, ancak uzun vadede bundan faydalanamazsınız!

Kaynağından bir paket oluşturmak için, Ubuntu Wiki'de bir rehber vardır ; Ayrıca paket için derleme yönergeleri ayarlamadan varsayılan kaynak ağacıyla bazı hileler yapabilen checkinstall adında bir program var . Derlediğiniz programlardan başka birinin yararlanabileceğini düşünüyorsanız , fırlatma rampasında bir depo ayarlayabilir ve paketin iyiliğini paylaşabilirsiniz!


gerçekten soruya cevap değil, yani -1
Dee

3

Gerçekten de RPM'leri sisteminize yüklemeniz gerekiyorsa, onları gerçekten 'yabancı' kullanarak dönüştürmeyi denemelisiniz.

Lütfen varsayılan olarak 'yabancı' paketin sürüm numarasıyla karışacağını unutmayın. Sürüm numarasının aynı kalmasını istiyorsanız, dönüştürürken '-k' seçeneğini iletin.

Yum veya apt-rpm gibi RPM'leri mevcut DEB paketlerinin yanına koymak için başka bir yöntem kullanmaya çalışmamalısınız. DEB ve RPM sistemleri, kurulu yazılımların listesini ayrı ayrı yönetir ve bu nedenle diğer sistemler tarafından daha önce hangi paketlerin kurulu olduğunu bilmez. Örneğin, RPM tabanlı bir paket yönetim sistemine sahip bir GUI taşıyan uygulama yüklemeye çalışırsanız, henüz kurulmadıklarını düşündüğü için hayati sistem bileşenlerinin kendisini yüklemeye çalışır. Bu, yüklemenin korkunç bir şekilde başarısız olmasına neden olacak veya hayati sistem dosyalarının üzerine yazacaktır.


3

Orada Repos üzerinde SmartPM adlı bir GUI paket yöneticisi, .deb VE .RPM işleyebilir. Canonical, bu projeye Kasım 2009'a kadar katkıda bulunmuştur.

Projelerin ana sayfası burada https://github.com/smartpm/smart


Ubuntu'ya Sormaya Hoş Geldiniz! Bunun nasıl kullanılacağı ile ilgili ayrıntılı bilgi vermek için bu cevabı düzenlemenizi öneririm . (Ayrıca bkz. İyi bir cevap nasıl yazırım? Ask Ubuntu'da hangi tür cevapların en değerli olduğu konusunda genel tavsiyeler için.)
David Foerster

2

Alien, bir formattan (.deb veya .rpm) diğerine (.deb, .rpm veya tarball) dönüştüren bir araçtır.

Ali'nin .deb'den .rpm'ye dönüşümde kullanılması tavsiye edilmez, .deb'i tarball'lara dönüştürmede mükemmeldir.

Althought Alien dönüştürürken meta verileri korumaya çalıştı, ancak yine de Meta Veri ve bağımlılık sorunları var, paketi daha az güvenilir kılacak ve bu nedenle gelecekte dağıtım paketleri eklerken veya çıkarırken çakışmalara neden olacak.


2

Aslında en kısa seçenek

sudo alien -i -k packagename.rpm

Uzaylı yok mu? Birini almak!

sudo apt-get install alien

Alien, rpm paketini deb paketine dönüştürür, -i seçeneği dönüştürülen paketi dönüştürdükten sonra yüklemek anlamına gelir ve -k seçeneği, sürümün dönüşümden sonra +1 olmadığından emin olur.


2

Bu talimatları izleyin:

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

Şimdi avg71lms-r30-a0782.i386.debdosya olmalı .

.Deb dosyasını kurmak için:

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

Eğer -kseçeneği kullanmazsanız , avg71lms_r30-1_i386.debdosyayı görmelisiniz , aradaki fark 1 olacaktır.

Ubuntu'da alien'i kurun:

sudo apt-get install alien

Mevcut seçenekler için yukarıdaki bölümü kontrol edebilirsiniz.


1

Alien ile sadece .rpm dosyasını bir .deb dosyasına dönüştürebilir ve onu yükleyebilirim.

Alien normal Debian depolarında mevcuttur, bu şekilde kurabiliriz:

sudo apt-get install alien

Bir .deb paketine dönüştürmek için basitçe çalıştırıyoruz.

alien *.rpm

Büyük olasılıkla yabancı ile bazı bayraklar kullanmak istersiniz. En azından açıkça --scripts(veya -c) belirtmeden komut dosyalarını dönüştürmediğiniz konusunda sizi uyaracaktır
Randall


0

İşte Alien için bir GUI (yabancı, rpm'yi deb'a çeviren bir uygulamadır)

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


-1 "Yabancı" nedir ve Ubuntu'da RPM'lerin kurulmasıyla nasıl bir bağlantısı vardır?
David Foerster

1
@DavidFoerster yabancı rpm deb deb dönüştürmek için bir uygulamadır
Anwar

2
Sakın söyleme, cevabını, faydalanmak isteyebilecek kişilere anlatmak için düzenle . Ayrıca , bunun nasıl yapılacağı hakkında ayrıntılı bilgi vermek için bu cevabı düzenlemenizi tavsiye ederim . (Ayrıca bkz İyi bir cevap yazmak nasıl? Cevapların türlü Ask Ubuntu en değerli kabul yaptığınız hakkında genel öneri niteliğinde değildir.)
David Foerster
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.