6.

EXE / DLL / MSI / DMG / DEB / RPM / APK など実行・パッケージ形式総覧

編集
この記事の要点
  • 実行ファイル: Windows は PE (.exe/.dll)、macOS は Mach-O (.app の中身)、Linux は ELF(拡張子なし)
  • パッケージ: インストーラ含む配布形式。Win: .msi、Mac: .dmg、Debian: .deb、Red Hat: .rpm、Android: .apk
  • 中身は基本 ZIP / TAR ベース.apk.debunzip/ar で展開できる
  • 署名: 改ざん検出にコード署名が必須。Win: SignTool、Mac: codesign、Android: apksigner
  • macOS の Gatekeeper や Windows の SmartScreen が未署名バイナリを警告

このカテゴリについて

実行ファイル・パッケージ系は、OS がプログラムをロードして実行するためのバイナリ形式と、それをユーザーが配布・インストールするための包装形式に分かれます。OS ごとに完全に独自フォーマットで、互換性はほぼありません。

パッケージ(.msi / .dmg / .deb / .rpm / .apk)の中身は実は ZIP や TAR ベースのアーカイブで、署名情報・依存関係メタデータ・インストール前後スクリプトを含んでいます。fileunzip -l で覗くと驚くほどシンプルな構造です。

実行ファイル・パッケージで扱う主な拡張子

拡張子概要
.exeWindows 実行ファイル。PE(Portable Executable)形式
.dllWindows 動的リンクライブラリ。形式は PE と同じ
.msiMicrosoft Installer。Windows Installer サービスが処理
.dmgApple Disk Image。macOS のソフトウェア配布標準
.pkgmacOS 公式インストーラ。XAR ベース
.appmacOS アプリ。実はフォルダ(バンドル)
.debDebian/Ubuntu パッケージ。ar アーカイブ内に tar.xz
.rpmRed Hat/Fedora/SUSE パッケージ。cpio ベース
.apkAndroid アプリ。実体は ZIP(dex + assets + manifest)
.aabAndroid App Bundle。Google Play 配信用
.ipaiOS アプリ。実体は ZIP(Payload/*.app)
.appimageLinux 用ポータブル実行ファイル。1 ファイルで完結
.snap / .flatpakLinux のサンドボックス型パッケージ

用途別の使い分け

OS / 用途推奨パッケージ形式
Windows(一般配布).msi(管理者デプロイ可)or .exe インストーラ
Windows(ストア配布).msix
macOS(公式配布).dmg + コード署名 + 公証(notarization)
Debian/Ubuntu.deb(dpkg / apt)
Red Hat/Fedora/SUSE.rpm(rpm / dnf / yum)
Linux 全般.appimage / .snap / .flatpak
Android(社内配布).apk
Android(Play 配信).aab
iOS.ipa(App Store / TestFlight)

関連カテゴリ・記事

編集
Post Share
子ページ
  1. EXE(.exe)
  2. DLL(.dll)
  3. MSI(.msi)
  4. DMG(.dmg)
  5. DEB(.deb)
  6. RPM(.rpm)
  7. APK(.apk)
  8. IPA(.ipa)
  9. AppImage(.appimage)
  10. app(.app)
同階層のページ
  1. ファイル拡張子とは
  2. テキスト・ドキュメント形式
  3. 画像形式
  4. 音声・動画形式
  5. アーカイブ・圧縮形式
  6. 実行ファイル・パッケージ
  7. プログラミング・スクリプト
  8. Web・データ・設定
  9. データベース・データ交換
  10. フォント
  11. システム・仮想化

最近更新/作成されたページ