Як встановити та керувати RPM?


85

У мене є гостре бажання встановити RPM на мою установку Ubuntu - чи можливо це? Чи можу я використовувати Yum - або інший інструмент управління пакетами RPM?


Чому? Яке програмне забезпечення вам не вистачає, якого ви не можете знайти в Ubuntu або PPA? Перетворення RPM за допомогою чужорідних працює, але це дійсно не найкращий варіант.
ℝaphink

У щоденній роботі я системний адміністратор Linux і керую в основному машинами Redhat. Мені подобається Ubuntu за те, що мені не доведеться брати з собою роботу додому, але деякі речі, які Debian використовує для конфігурації (головним чином Apache), насправді зводить мене з глузду. Я набагато віддаю перевагу тому, як RH підтримує програмне забезпечення apache. Таким чином, підтримка двох рішень для управління пакетами (yum та схильність) здається більш ідеальним рішенням (якщо можливо)
Marco Ceppi

Пов'язана інформація: rpm та yum теги вікі.
Елія Каган

Відповіді:


117

Чи можу я використовувати Yum

Я б не рекомендував це. Ви, ймовірно, могли скласти його, але у вас не було б жодних сумісних з Ubuntu репозиторіїв для оброблення.

Ви можете перетворити окремі файли RPM в DEB за допомогою Alien:

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

Примітка. Це може змінити ім'я файлу трохи більше, ніж просто розширення.

Це не спрацює для всього, оскільки пакети посилаються на інші пакунки для задоволення залежностей. Очевидно, Red Hat / Fedora / CentOS використовують різні назви пакунків для Ubuntu, тому ви, швидше за все, зіткнетеся з цілим навантаженням.

Швидше за все, якщо DEB не існує, вам буде краще просто отримати джерело та скласти його.


3
якщо іноземець не працює , і ви в кінцевому підсумку з використанням вихідного коду безпосередньо, ви можете включити , що в .deb , використовуючи Checkinstall (який знаходиться в сховищі Всесвіту, не встановлюється за умовчанням).
ImaginaryRobots

Checkinstall використовується замість make installі дуже зручно мати навколо. Можливість видалення пакетів - це безумовно плюс!
аперсон

checkinstallчудово підходить для підтримки самозбірки в упакованому середовищі, але в ньому є деякі химерності, які іноді означають те, що встановиться через make installне встановить. Я використовую його, коли можу.
Олі

3
ви можете зробити alien --install my_package.rpm.
thepang

Я спробував встановити найновішу версію lftp таким чином, але він не оновив залежності, тому lftp не вдається почати спробу завантажувати:error while loading shared libraries: libreadline.so.7
Crouching Kitten

15

Вам це потрібно alienбуде зробити.

sudo apt-get install alien

Це дозволить встановити всі необхідні пакети. Тепер ви можете почати конвертувати ваші .rpm-файли в .deb-пакети.

Доступні варіанти для alien:

Перетворіть package.rpm в package.deb

sudo alien -d package-name.rpm

Перетворіть package.rpmв package.debі встановіть згенерований пакет.

alien -i package-name.rpm

Якщо ви хочете утримати прибульця від зміни номера версії, скористайтеся наступною командою

alien -k rpm-package-file.rpm

7

Коротка відповідь: Не треба!

Якщо ви отримали настільки важливий оберт, що вам потрібно мати його, мабуть, є і пакет Ubuntu; і, якщо ні, то, ймовірно, варто пережити проблеми зі складанням його з джерела у формат пакету Debian (який також використовує Ubuntu). Тепер є певні періоди, коли ви не можете просто перекомпілювати програмне забезпечення (якщо це не open source, це неможливо), і в такому випадку ви можете скористатися alienпрограмою. Але встановлення від RPM - це трохи схоже на те, щоб покласти бензин у дизельний автомобіль - це може спрацювати, але ви з часом не отримаєте користі від цього!

Для того, щоб зібрати пакет з вихідних текстів, є керівництво по Ubuntu Wiki; також існує програма під назвою checkinstall, яка може виконати деякі хитрощі з початковим деревом за замовчуванням, не встановлюючи інструкцій щодо збирання пакета. Якщо ви думаєте, що хтось інший може скористатися програмами, які ви компілюєте, ви можете встановити сховище на панелі запуску та поділитися добротою пакету!


насправді не відповідають на питання, тому -1
Ді

3

Якщо вам дійсно потрібно встановити RPM у вашій системі, ви дійсно повинні спробувати перетворити їх за допомогою "чужорідних".

Будь ласка, майте на увазі, що за замовчуванням "інопланетянин" втручається в номер версії пакета. Якщо ви хочете, щоб номер версії залишався однаковим, переведіть опцію '-k' під час перетворення.

Не слід намагатися використовувати Yum чи будь-який інший спосіб встановлення RPM, наприклад apt-rpm, поруч із існуючими пакетами DEB. Системи DEB та RPM окремо управляють списком встановленого програмного забезпечення, тому не знають, які пакунки були встановлені раніше іншою системою. Якщо, наприклад, ви спробуєте встановити додаток, що підтримує GUI, із системою управління пакетами на основі RPM, він спробує встановити життєво важливі компоненти системи, оскільки він вважає, що вони ще не встановлені. Це або призведе до того, що інсталяція жахливо вийде з ладу, або перезапише життєво важливі системні файли.


3

Існує менеджер пакунків GUI з назвою SmartPM в Repos, він може обробляти .deb AND .RPM. Canonical сприяв цьому проекту до листопада 2009 року.

Домашня сторінка проектів тут https://github.com/smartpm/smart


Ласкаво просимо до Ask Ubuntu! Рекомендую відредагувати цю відповідь, щоб розширити її конкретними деталями про те, як це зробити. (Дивіться також Як я написати гарну відповідь? Для загальних порад про те, які типи відповідей вважаються найціннішими на Ask Ubuntu.)
Девід Фоерстер

2

Alien - це інструмент, який конвертує з одного формату (.deb або .rpm) в інший (.deb, .rpm або tarball)

Чужому не рекомендується використовувати при перетворенні з .deb в .rpm його ідеальним для перетворення .deb у tarballs

Спочатку інопланетянин намагається зберегти метадані при перетворенні, але все одно проблеми з метаданими та залежністю роблять пакет менш надійним, і, таким чином, будуть конфлікти, додані або видаляються пакети дистирбуції в майбутньому.


2

Насправді найкоротший варіант є

sudo alien -i -k packagename.rpm

У вас немає прибульця? Отримати один!

sudo apt-get install alien

Alien перетворить rpm-пакет у deb-пакет, опція -i означає встановити конвертований пакет після того, як буде перетворений, а опція -k забезпечить, щоб версія не була +1 після перетворення.


2

Дотримуйтесь цих інструкцій:

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

Тепер ви повинні мати avg71lms-r30-a0782.i386.debфайл.

Щоб встановити .deb файл:

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

Якщо ви не використовуєте -kопцію, ви повинні побачити avg71lms_r30-1_i386.debрізницю, це додасть 1.

Встановити прибульця в Ubuntu:

sudo apt-get install alien

Ви можете перевірити вищевказаний розділ щодо наявних варіантів


1

З чужоземцем я можу просто перетворити .rpm-файл у .deb-файл та просто встановити його.

Alien доступний у звичайних сховищах Debian, тому ми можемо встановити його так:

sudo apt-get install alien

Щоб перетворити його в .deb пакет, ми просто запускаємося

alien *.rpm

Ви, швидше за все, хочете використовувати деякі прапори з інопланетянами. Принаймні, воно попередить вас про неперетворення скриптів, не чітко вказавши --scripts(або -c)
Randall

0

використовувати інопланетянин, який перетворює rpm в deb і згодом встановлює deb.


Ласкаво просимо до Ask Ubuntu! Рекомендую відредагувати цю відповідь, щоб розширити її конкретними деталями про те, як це зробити. (Дивіться також Як я можу написати гарну відповідь? Для загальних порад про те, які типи відповідей вважаються найціннішими на Ask Ubuntu.)
Девід Фоерстер

0

Ось графічний інтерфейс для інопланетян (інопланетянин - це програма для перетворення обертів в деб)

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


-1 Що таке "Alien" і як це пов'язано з встановленням RPM в Ubuntu?
Девід Фоерстер

1
@DavidFoerster alien - програма для перетворення оборотів в деб
Anwar,

2
Не кажіть мені, редагуйте свою відповідь, щоб сказати людям, які можуть захотіти від неї користь. Крім того, рекомендую відредагувати цю відповідь, щоб розширити її конкретними деталями щодо цього. (Дивіться також Як я можу написати гарну відповідь? Для загальних порад про те, які типи відповідей вважаються найціннішими на Ask Ubuntu.)
Девід Фоерстер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.