パッケージフォーマット

パッケージフォーマットは、コンピュータプログラムと、パッケージマネージャに必要なメタデータを含むアーカイブの一種であるJustin Angelo Cappos, Stork: Secure Package Management for VM Environments, ProQuest, 2008, p. 128;。パッケージフォーマットのインスタンスはパッケージと呼ばれる。アーカイブファイル形式自体が変更されない場合もあるが、パッケージフォーマットにはや特定のディレクトリレイアウトなどの追加のメタデータが含まれる。パッケージには、ソースコードまたは実行可能ファイルのいずれかが含まれる。

パッケージは、Alien などのソフトウェアを使用して別のフォーマットに変換できる。

 ソフトウェアのサプライチェーンとセキュリティ 
パッケージは、ソフトウェアサプライチェーンのセキュリティと信頼性を管理する上で重要な要素である。実行可能ファイルと設定を含むパッケージは、実行中のソフトウェアの信頼性を確立し、改ざんを防ぐためにデジタル署名することができる。

コード署名をサポートするパッケージ形式には、.deb（Debian）、.msi（Microsoft Windows）、.apk（Android）、.ipa（iOS、iPadOS）などがある。

一般的なフォーマット

 特殊なフォーマット 
フォーマットプラットフォーム AIR Adobe AIRBottleHomebrew

 BSDベースのフォーマット 
フォーマットプラットフォーム.ipaIOS, IPadOS Ports (BSD) pkgsrc, FreeBSD, OpenBSDmacOS, iOS, PlayStation 3, Solaris, SunOS, UNIX System V, Symbian, BeOS, Apple Newton

 Linuxベースのフォーマット 
フォーマットプラットフォーム AAB AndroidAPK (Alpine)Alpine LinuxAPK (Android)AndroidAppImageLinuxディストリビューションに依存しないdebDebianとその派生OS（Raspberry Pi OS、Kali Linux、Ubuntu、Linux Mintなど）ebuildGentoo LinuxeopkgSolusNixpkgNix, NixOS, Home ManagerPortageGentoo Linux, ChromeOSFlatpakLinuxディストリビューションに依存しないHarmonyOS、OpenHarmony、Oniro OS、そして Linux ベースの Unity Operating SystemPISIPardus.pkg.tar.zstArch LinuxPUP and PETPuppy Linux (PUP 形式はバージョン 3.0 以降では非推奨)RPMRed Hat Enterprise Linux、Fedora、CentOSなどの派生 そしてSUSE Linux Enterprise、openSUSESnapLinuxディストリビューションに依存しない。主にUbuntuのために開発された。

 Windows用フォーマット 
フォーマットプラットフォーム と APPXBundleWindows 8以降、Windows PhoneWindows Installer package / MSIMicrosoft WindowsのWindows Installer

 汎用フォーマット 
Arch Linux の Pacman と Slackware は、一般的な名前だが特定の内部構造を持つtarアーカイブを使用する 。

脚注

*