У мене є гостре бажання встановити RPM на мою установку Ubuntu - чи можливо це? Чи можу я використовувати Yum - або інший інструмент управління пакетами RPM?
У мене є гостре бажання встановити RPM на мою установку Ubuntu - чи можливо це? Чи можу я використовувати Yum - або інший інструмент управління пакетами RPM?
Відповіді:
Чи можу я використовувати 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 не існує, вам буде краще просто отримати джерело та скласти його.
make install
і дуже зручно мати навколо. Можливість видалення пакетів - це безумовно плюс!
checkinstall
чудово підходить для підтримки самозбірки в упакованому середовищі, але в ньому є деякі химерності, які іноді означають те, що встановиться через make install
не встановить. Я використовую його, коли можу.
alien --install my_package.rpm
.
error while loading shared libraries: libreadline.so.7
Вам це потрібно 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
Коротка відповідь: Не треба!
Якщо ви отримали настільки важливий оберт, що вам потрібно мати його, мабуть, є і пакет Ubuntu; і, якщо ні, то, ймовірно, варто пережити проблеми зі складанням його з джерела у формат пакету Debian (який також використовує Ubuntu). Тепер є певні періоди, коли ви не можете просто перекомпілювати програмне забезпечення (якщо це не open source, це неможливо), і в такому випадку ви можете скористатися alien
програмою. Але встановлення від RPM - це трохи схоже на те, щоб покласти бензин у дизельний автомобіль - це може спрацювати, але ви з часом не отримаєте користі від цього!
Для того, щоб зібрати пакет з вихідних текстів, є керівництво по Ubuntu Wiki; також існує програма під назвою checkinstall, яка може виконати деякі хитрощі з початковим деревом за замовчуванням, не встановлюючи інструкцій щодо збирання пакета. Якщо ви думаєте, що хтось інший може скористатися програмами, які ви компілюєте, ви можете встановити сховище на панелі запуску та поділитися добротою пакету!
Якщо вам дійсно потрібно встановити RPM у вашій системі, ви дійсно повинні спробувати перетворити їх за допомогою "чужорідних".
Будь ласка, майте на увазі, що за замовчуванням "інопланетянин" втручається в номер версії пакета. Якщо ви хочете, щоб номер версії залишався однаковим, переведіть опцію '-k' під час перетворення.
Не слід намагатися використовувати Yum чи будь-який інший спосіб встановлення RPM, наприклад apt-rpm, поруч із існуючими пакетами DEB. Системи DEB та RPM окремо управляють списком встановленого програмного забезпечення, тому не знають, які пакунки були встановлені раніше іншою системою. Якщо, наприклад, ви спробуєте встановити додаток, що підтримує GUI, із системою управління пакетами на основі RPM, він спробує встановити життєво важливі компоненти системи, оскільки він вважає, що вони ще не встановлені. Це або призведе до того, що інсталяція жахливо вийде з ладу, або перезапише життєво важливі системні файли.
Існує менеджер пакунків GUI з назвою SmartPM в Repos, він може обробляти .deb AND .RPM. Canonical сприяв цьому проекту до листопада 2009 року.
Домашня сторінка проектів тут https://github.com/smartpm/smart
Alien - це інструмент, який конвертує з одного формату (.deb або .rpm) в інший (.deb, .rpm або tarball)
Чужому не рекомендується використовувати при перетворенні з .deb в .rpm його ідеальним для перетворення .deb у tarballs
Спочатку інопланетянин намагається зберегти метадані при перетворенні, але все одно проблеми з метаданими та залежністю роблять пакет менш надійним, і, таким чином, будуть конфлікти, додані або видаляються пакети дистирбуції в майбутньому.
Насправді найкоротший варіант є
sudo alien -i -k packagename.rpm
У вас немає прибульця? Отримати один!
sudo apt-get install alien
Alien перетворить rpm-пакет у deb-пакет, опція -i означає встановити конвертований пакет після того, як буде перетворений, а опція -k забезпечить, щоб версія не була +1 після перетворення.
Дотримуйтесь цих інструкцій:
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
Ви можете перевірити вищевказаний розділ щодо наявних варіантів
З чужоземцем я можу просто перетворити .rpm-файл у .deb-файл та просто встановити його.
Alien доступний у звичайних сховищах Debian, тому ми можемо встановити його так:
sudo apt-get install alien
Щоб перетворити його в .deb пакет, ми просто запускаємося
alien *.rpm
--scripts
(або -c
)
використовувати інопланетянин, який перетворює rpm в deb і згодом встановлює deb.
Ось графічний інтерфейс для інопланетян (інопланетянин - це програма для перетворення обертів в деб)