Установить 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.