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

85

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

Марко Чеппи
источник
Почему? Какое программное обеспечение вам не хватает, которое вы не можете найти в Ubuntu или PPA? Конвертация rpms с инопланетными работами, но это действительно не лучший вариант.
ℝaphink
В своей повседневной работе я являюсь системным администратором Linux и администрирую в основном машины Redhat. Я люблю Ubuntu за то, что мне не нужно брать свою работу домой со мной, но некоторые вещи, которые Debian использует для конфигурации (в основном Apache), действительно сводят меня с ума. Я предпочитаю, чтобы RH поддерживал программное обеспечение apache. Поэтому поддержание двух решений по управлению пакетами (yum и aptitude) кажется более идеальным решением (если это возможно)
Марко Чеппи
Информация, связанная с данной: rpm и yum tag вики.
Элия ​​Каган

Ответы:

117

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

Оли
источник
3
если иностранец не работает , и вы в конечном итоге с использованием исходного кода непосредственно, вы можете включить , что в .deb , используя Checkinstall (который находится в хранилище Вселенной, не устанавливается по умолчанию).
ImaginaryRobots
Checkinstall используется вместо make installи очень удобно иметь вокруг. Возможность удалять пакеты, безусловно, является плюсом!
2010 г.
checkinstallотлично подходит для поддержки самостоятельной сборки в пакетной среде, но в ней есть некоторые особенности, которые иногда означают, что то, что будет установлено через make install, не будет установлено. Я использую это, когда могу.
Оли
3
ты можешь сделать alien --install my_package.rpm.
Чепанг
Я попытался установить последнюю версию lftp таким способом, но он не обновил зависимости, поэтому lftp не может начать попытки загрузки с:error while loading shared libraries: libreadline.so.7
Crouching Kitten
15

Вам нужно 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
Frantique
источник
6

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

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

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

LassePoulsen
источник
не совсем отвечу на вопрос, поэтому -1
Ди
3

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

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

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

Смысл Хофстеде
источник
3

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

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

Анвар
источник
Добро пожаловать в Спросите Ubuntu! Я рекомендую отредактировать этот ответ, чтобы дополнить его конкретными сведениями о том, как это сделать. (См. Также Как написать хороший ответ? Для общего совета о том, какие ответы считаются наиболее ценными в Ask Ubuntu.)
David Foerster
2

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

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

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


источник
2

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

sudo alien -i -k packagename.rpm

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

sudo apt-get install alien

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

Dee
источник
2

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

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

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

Лаура Сегура
источник
1

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

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

sudo apt-get install alien

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

alien *.rpm
krupal6022
источник
Скорее всего, вы хотите использовать некоторые флаги с инопланетянами. По крайней мере, он предупредит вас о том, что не нужно конвертировать скрипты без явного указания --scripts(или -c)
Рэндалл
0

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

Анураг-Jain
источник
Добро пожаловать в Спросите Ubuntu! Я рекомендую отредактировать этот ответ, чтобы расширить его конкретными сведениями о том, как это сделать. (См. Также Как написать хороший ответ? Для общего совета о том, какие ответы считаются наиболее ценными в Ask Ubuntu.)
Дэвид Фёрстер,
0

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

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

Alok
источник
-1 Что такое «Чужой» и как это связано с установкой RPM в Ubuntu?
Дэвид Фёрстер
1
@DavidFoerster Alien - это приложение для конвертации об / мин в deb
Anwar
2
Не говорите мне, отредактируйте свой ответ, чтобы рассказать людям, которые могут извлечь из этого пользу. Кроме того, я рекомендую отредактировать этот ответ, чтобы расширить его конкретными сведениями о том, как это сделать. (См. Также « Как мне написать хороший ответ?», Чтобы получить общие советы о том, какие ответы считаются наиболее ценными в Ask Ubuntu.)
Дэвид Фёрстер,