Установить RPM-файл в Arch Linux?


22

Я хочу установить sqldeveloper из Oracle на Arch Linux. Единственный вариант загрузки Linux - это RPM. Я не заинтересован в использовании архивных репозиториев для установки sqldeveloper. Я могу использовать только то, что предоставляет поставщик.


6
Пакет в AUR - это «то, что предоставляет поставщик»: так работает упаковка в Arch. Если вы собираетесь использовать Arch, вам следует ознакомиться с тем pacman, как makepkgи как работают PKGBUILD.
Джейсонвриан

1
«Пакет в AUR - это то, что предоставляет поставщик» Lol ... нет. Люди хотят использовать программное обеспечение, которого нет в AUR, верьте этому или нет. Я не могу установить Java 1.6.65, 64bit из Oracle / Sun ...? Правильно, потому что Arch является скользящим выпуском и не сохраняет предыдущие версии для начинающих.
Зомби

Ответы:


23

Jasonwryan (как обычно) был прав на отметку с его первоначальным комментарием.

Пакеты Арча должны быть как можно ближе к "ванили". Теперь, хотя вы можете использовать rpmextractили alien, на самом деле нет веских причин для этого. Что вы должны сделать - это создать PKGBUILDRPM, который использует RPM в качестве исходного файла, а затем установить все, что нужно, в том месте, где он должен быть в package()функции. Если вы не знаете, как это сделать, взгляните на некоторые пакеты в ArchLinux User Repository ; Есть много, которые делают подобные вещи.

Теперь, поскольку bsdtar( средство makepkgизвлечения по умолчанию, используемое в исходных файлах ) поддерживает извлечение RPM без проблем, нет никаких оснований для использования rpmextract- оно добавляет взаимозависимость без добавления какой-либо реальной функциональности.


Некоторые связанные чтения из вики:


1
Похоже, что последние версии rpmextractArch Linux - просто обертка bsdtar.
sherrellbc

13
Заголовок вопроса гласит: установите RPM-файл в Arch linux, и все, что я нашел, это просто обычные ответы арха-элитарного «проверьте руководство» / «проверьте эти ресурсы». Этот ответ в основном говорит пользователю, где искать его собственный ответ, вместо того, чтобы давать простые простые для выполнения инструкции. Хотя это канон на арочных форумах, это противоречит обычной практике SO. Я думаю, что пользователь мог бы задать вопрос на форуме, если бы хотел такого ответа. Этикет SO требует дословного цитирования частей связанных ресурсов, которые относятся к конкретному ответу.
Бретт

1
@brett как многолетний архивный пользователь, я согласен
Жан-Бернард Янсен

1
Этот ответ нуждается в ссылке на примеры PKGBUILD, которые принимают RPM, извлекают их и затем помещают файлы туда, куда им нужно. Ссылка на AUR в этом случае не поможет. Было бы полезно, если бы оно было более конкретным.
Элайджа Линн


2

Существует инструмент под названием, alienкоторый может (попытаться) построить debиз rpm. Иногда это работает; в других случаях это делает беспорядок ... это в лучшем случае несовершенный процесс. alienможет быть использован для простого распаковывания rpmв debкаталог формата (т.е. делать все, кроме сборки deb), где вы можете вручную установить (скопировать) все.

Другой вариант - установить rpm-инструменты под arch и принудительно установить rpm. Это установит его, но, не являясь нативным rpmдистрибутивом, он не будет знать о debпакетах в системе. Таким образом, удовлетворение зависимостей будет зависеть от вас. Кроме того, любые rcсценарии, которые он устанавливает, должны быть преобразованы в systemd.


Понимаю. Я думаю, что некоторые RPM-файлы имеют упакованные двоичные файлы. Для sqldeveloper все, что мне нужно было сделать, это установить rpmextract. Он создал структуру каталогов /opt/sqldeveloer/...[prebuilt and ready to run..... Но вы говорите, что для rpms, которые требуют сборки, это не простая задача?
Зомби

Я говорю, что alienможет конвертировать rpm в пакет deb - или хотя бы попробовать, так как rpms может иметь сложные сценарии установки / удаления. alienможно сказать сделать все, кроме сборки deb, где вы можете посмотреть, что пытается сделать rpm, и, возможно, очистить его перед сборкой deb. Если rpmextractсделал трюк, то не беспокойся alien.
Рикки Бим

4
Может быть, я что-то упускаю, но создание debфайла не кажется полезным, потому что Arch Linux не использует менеджер пакетов на основе deb.
Виланд

tgzтогда (что будет близко к тому, что использует pacman, но не то же самое), A debможно легко извлечь, используя cpio. (и tgzнепосредственно с tar.) RPM - это испорченный архив cpio - в нем есть куча мусора перед потоком gzip'd cpio.
Рикки Бим

-2

Я не уверен, что это будет работать для всех, но это самый быстрый способ, если вам все равно, что он может или не может сделать

Я сделал это, чтобы скайп работал с arch, в основном откройте файл .rpm, а затем посмотрите, сможете ли вы найти файл с именем "." Если вы это сделаете, скопируйте файлы в "." файл в корневой каталог (AKA "/")

Я не рекомендую это, если вы не знаете точно, что вы делаете

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.