なぜ PKG を RPM に変換するのですか?
.pkg には、macOS カーネルと Apple のシステムライブラリをターゲットとした Mach-O エグゼクティブが含まれており、/Applications や /Library といった macOS のファイルシステムパスが使用されています。一方、.rpm は ELF バイナリ、Linux のファイルシステムパス、および Linux のパッケージ依存関係を想定しています。Mac のバイナリを RPM ヘッダーに再パッケージ化しても、Linux 上で実行できないファイルがインストールされるだけのアーカイブが作成されます。
PKG から RPM への変換方法
alien FREE
ソフトウェアが Linux 向けの .deb を提供している場合は、それをダウンロードして alien --to-rpm package.deb を実行することで .rpm を生成できます。alien は Linux パッケージ形式間の変換を行いますが、macOS の .pkg ファイルを処理することはできません。
PKG を変換するプログラム
これらの形式について
PKGファイルはmacOSのインストーラーパッケージであり、Macにソフトウェアをインストールするために使用されます。ダブルクリックするとAppleの「インストーラー」アプリが起動し、セットアップの手順が表示されます(通常、管理者パスワードが必要です)。App Store以外から入手したPKGを実行する前に、無料の「Suspicious…
.PKG の詳細を開く →.rpm ファイルは、Fedora、RHEL、CentOS、openSUSE などの RPM ベースの Linux ディストリビューション用のソフトウェアパッケージです。sudo dnf install ./file.rpm (Fedora/RHEL) または sudo zypper install ./file.rpm (openSUSE)…
.RPM の詳細を開く →品質と注意点
xar -xfで.pkgを展開しても、得られるのは Mach-O バイナリであり、どのように再パッケージ化しても Linux 上では実行できません。- macOS 向けに
.pkgを提供しているほとんどのクロスプラットフォームソフトウェアは、Linux 向けに.rpmや Flatpak も公開しています。開発者のダウンロードページを確認するか、dnf search <appname>を使用してください。 alienツールは Linux 形式(.deb,.rpm,.tgz)間の変換を行いますが、macOS の XAR パッケージには対応していません。
よくある質問
macOS アプリを `.pkg` から RPM に手動で再パッケージ化できますか?
.pkg に含まれる Mach-O エグゼクティブは、パッケージ形式に関わらず Linux では動作しません。PKG を RPM に変換するツールはありますか?
macOS と Linux の両方で同じソフトウェアが必要です。正しい方法は何ですか?
.pkg と Linux 用の .rpm または .deb が提供されています。