У меня есть жгучее желание установить 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
в a 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
--scripts
(или -c
)
использовать иностранца, который конвертирует rpm в deb и впоследствии устанавливает deb.
Вот графический интерфейс для Alien (Alien это приложение для преобразования rpm в deb)