Как мне установить и управлять RPM?

У меня есть жгучее желание установить RPM на мою установку Ubuntu - возможно ли это? Могу ли я использовать Yum или другой инструмент управления пакетами RPM?

11 ответов

Решение

Могу ли я использовать 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 не существует, вам будет лучше просто получить исходный код и скомпилировать его.

Тебе понадобится 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

Краткий ответ: не надо!

Если у вас есть RPM, который настолько важен, что вам нужно его иметь, вероятно, есть и пакет Ubuntu; и если нет, то, вероятно, стоит попытаться скомпилировать его из исходного кода в формат пакета Debian (который также использует Ubuntu). Теперь, есть определенные моменты, когда вы не можете просто перекомпилировать программное обеспечение (если оно не с открытым исходным кодом, это невозможно), и в этом случае вы можете использовать alien программа. Но установка с RPM - это все равно, что заправлять бензин в дизельную машину - это может сработать, но в долгосрочной перспективе вы от этого не выиграете!

Чтобы собрать пакет из исходного кода, есть руководство по Ubuntu Wiki; Существует также программа под названием checkinstall, которая может выполнить некоторые трюки с исходным деревом по умолчанию, не задавая инструкции по сборке для пакета. Если вы думаете, что программы, которые вы компилируете, могут извлечь выгоду для кого-то другого, вы можете установить репозиторий на панели запуска и поделиться преимуществами пакета!

Если вам действительно необходимо установить RPM в вашей системе, вам действительно следует попытаться преобразовать их, используя "чужую".

Пожалуйста, имейте в виду, что по умолчанию "пришелец" будет вмешиваться в номер версии пакета. Если вы хотите, чтобы номер версии оставался прежним, при конвертации передайте опцию '-k'.

Вам не следует пытаться использовать Yum или любой другой способ установки RPM, например apt-rpm, рядом с существующими пакетами DEB. Системы DEB и RPM управляют списком установленного программного обеспечения отдельно и поэтому не знают, какие пакеты были установлены ранее другой системой. Например, если вы попытаетесь установить приложение с графическим интерфейсом пользователя с помощью системы управления пакетами на основе RPM, оно попытается установить жизненно важные компоненты системы, поскольку считает, что они еще не установлены. Это может либо привести к ужасному сбою установки, либо перезаписать важные системные файлы.

В Repos есть менеджер пакетов графического интерфейса с именем SmartPM, он может обрабатывать.deb AND .RPM. Canonical участвовал в этом проекте до ноября 2009 года.

Домашняя страница проектов находится здесь https://github.com/smartpm/smart

Alien - это инструмент, который конвертирует из одного формата (.deb или.rpm) в другой (.deb,.rpm или tarball)

Alien не рекомендуется использовать при конвертации из.deb в.rpm, его идеально использовать для конвертации.deb в тарболлы

Althought Alien пытается сохранить метаданные при конвертации, но у него все еще будут проблемы с метаданными и зависимостями, что сделает пакет менее надежным и, следовательно, приведет к конфликтам при добавлении или удалении дистрибутивных пакетов в будущем.

На самом деле самый короткий вариант

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

Использовать иностранца, который конвертирует rpm в deb и впоследствии устанавливает deb.

Вот графический интерфейс для Alien (Alien это приложение для преобразования rpm в deb)

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

Другие вопросы по тегам