У меня есть жгучее желание установить 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 не существует, вам лучше просто получить исходный текст и скомпилировать его.
Для этого вам понадобится инопланетянин
.
sudo apt-get install alien
Это установит все нужные пакеты. Теперь вы можете начать преобразовывать ваши .rpm файлы в .deb пакеты.
Available Options for 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-файл в .deb-файл и просто установить его.
Alien доступен в обычных репозиториях Debian, так что мы можем установить его следующим образом:
sudo apt-get install alien
Чтобы преобразовать его в . deb, мы просто запускаем
alien *.rpm
На самом деле самый короткий вариант -
sudo alien -i -k packagename.rpm
Нет пришельца? Получите один!
sudo apt-get install alien
Alien преобразует пакет rpm в пакет deb, параметр -i означает установку преобразованного пакета после преобразования, а параметр -k гарантирует, что после преобразования версия не будет равна +1.
Alien - инструмент, который конвертирует из одного формата (.deb или .rpm) в другой (.deb, .rpm или tarball)
Alien не рекомендуется использовать при преобразовании из .deb в .rpm, он идеально подходит для преобразования .deb в tarballs
Althought Alien attempts to preserve meta-данные при конвертировании, но при этом будут сохраняться проблемы с метаданными и зависимостями, что делает пакет менее надежным и, таким образом, приводит к конфликтам при добавлении или удалении пакетов дистирбуции в будущем.
В Repos есть графический менеджер пакетов с именем SmartPM, он может обрабатывать .deb и .RPM. Канонический вклад в этот проект вплоть до ноября 2009 года.
Главная страница проекта находится здесь https://github.com/smartpm/smart
Вот графический интерфейс для Alien (alien - приложение для преобразования rpm в deb)
Короткий ответ: Не надо!
Если у вас есть RPM, настолько важный, что он вам нужен, вероятно, есть ещё и пакет Ubuntu; а если нет, то, вероятно, стоит попробовать скомпилировать его из исходных текстов в формат пакета Debian (который также используется в Ubuntu). Сейчас есть определённые моменты, когда вы не можете просто перекомпилировать программу (если она не с открытым исходным кодом, то это невозможно), и в этом случае вы можете использовать программу alien
. Но установка из RPM немного похожа на установку бензина в дизельную машину - это может сработать, но вы не получите от этого никакой пользы в долгосрочной перспективе!
Для сборки пакета из исходных текстов есть руководство на вики Ubuntu; есть также программа под названием checkinstall, которая может выполнять некоторые трюки с деревом исходных текстов по умолчанию без установки инструкций по сборке пакета. Если вы думаете, что кто-то другой может извлечь выгоду из программ, которые вы компилируете, вы можете установить репозиторий на runpad и поделиться пакетом добра!
использовать alien, который преобразует rpm в deb, а затем установить deb.
Следуйте этим инструкциям:
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 на вашу систему, вы действительно должны попытаться преобразовать их с помощью 'alien'.
Пожалуйста, имейте в виду, что по умолчанию 'alien' будет вмешиваться с номером версии пакета. Если вы хотите, чтобы номер версии остался прежним, передайте при конвертировании опцию '-k'.
Вам не следует пытаться использовать Yum или любой другой способ установки RPM, например apt-rpm, рядом с существующими пакетами DEB. Системы DEB и RPM управляют списком установленных программ отдельно и поэтому не знают, какие пакеты были установлены ранее другой системой. Если, например, вы попытаетесь установить приложение с графическим интерфейсом и системой управления пакетами на базе RPM, то она попытается сама установить жизненно важные компоненты системы, так как считает, что они ещё не установлены. Это либо приведет к ужасной ошибке установки, либо перезапишет жизненно важные системные файлы.