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

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

92
задан 22 November 2012 в 01:17

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

123
ответ дан 22 November 2012 в 01:17

Для этого вам понадобится инопланетянин.

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
15
ответ дан 22 November 2012 в 01:17

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

Alien доступен в обычных репозиториях Debian, так что мы можем установить его следующим образом:

sudo apt-get install alien

Чтобы преобразовать его в . deb, мы просто запускаем

alien *.rpm
1
ответ дан 22 November 2012 в 01:17

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

sudo alien -i -k packagename.rpm

Нет пришельца? Получите один!

sudo apt-get install alien

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

2
ответ дан 22 November 2012 в 01:17

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

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

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

2
ответ дан 22 November 2012 в 01:17

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

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

3
ответ дан 22 November 2012 в 01:17

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

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

0
ответ дан 22 November 2012 в 01:17

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

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

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

6
ответ дан 22 November 2012 в 01:17

использовать alien, который преобразует rpm в deb, а затем установить deb.

0
ответ дан 22 November 2012 в 01:17

Следуйте этим инструкциям:

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

Вы можете проверить доступные параметры в приведенном выше разделе

2
ответ дан 22 November 2012 в 01:17

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

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

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

3
ответ дан 22 November 2012 в 01:17

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

Похожие вопросы: