Зачем конвертировать PKG в RPM?
Файл .pkg содержит исполняемые файлы Mach-O, ориентированные на ядро macOS и системные библиотеки Apple, а также пути файловой системы macOS, такие как /Applications и /Library. Файл .rpm ожидает бинарные файлы ELF, пути файловой системы Linux и зависимости пакетов Linux. Перепаковка бинарных файлов Mac в заголовок RPM создаст архив, который установит файлы, неспособные запуститься в Linux.
Способы конвертации PKG в RPM
alien FREE
Если программное обеспечение поставляется в формате .deb для Linux, скачайте его и выполните команду alien --to-rpm package.deb, чтобы создать .rpm - утилита alien конвертирует форматы пакетов Linux, но не может обрабатывать файлы macOS .pkg.
Программы, которые конвертируют PKG
Об этих форматах
Файл PKG - это пакет установщика macOS; он устанавливает программное обеспечение на Mac. Дважды щелкните его, чтобы запустить приложение Apple Installer, которое проведет вас через процесс…
Открыть детали .PKG →Файл .rpm - это программный пакет для дистрибутивов Linux на базе RPM, таких как Fedora, RHEL, CentOS и openSUSE. Установите его с помощью sudo dnf install ./file.rpm (Fedora/RHEL) или sudo…
Открыть детали .RPM →Качество и на что обратить внимание
- Извлечение
.pkgс помощьюxar -xfдает бинарные файлы Mach-O, которые не будут работать в Linux независимо от того, как они перепакованы. - Большинство кроссплатформенных программ, поставляемых в формате
.pkgдля macOS, также публикуют.rpmили Flatpak для Linux - проверьте страницу загрузки разработчика или используйтеdnf search <имя_приложения>. - Инструмент
alienконвертирует между форматами Linux (.deb,.rpm,.tgz), но не поддерживает пакеты macOS XAR.
Часто задаваемые вопросы
Можно ли вручную перепаковать приложение macOS из `.pkg` в RPM?
.pkg не будут работать в Linux независимо от упаковки.Существует ли какой-либо инструмент для конвертации PKG в RPM?
Мне нужно одно и то же ПО на macOS и Linux - какой подход правильный?
.pkg для macOS и .rpm или .deb для Linux, которые обычно предлагаются на одной и той же странице загрузки.