パッケージフォーマット

ウィキペディアから、無料の百科事典

パッケージフォーマットは、コンピュータプログラムと、パッケージマネージャに必要なメタデータを含むアーカイブの一種である[1]。パッケージフォーマットのインスタンスはパッケージと呼ばれる。アーカイブファイル形式自体が変更されない場合もあるが、パッケージフォーマットにはマニフェストファイル(英語版)や特定のディレクトリレイアウトなどの追加のメタデータが含まれる。パッケージには、ソースコードまたは実行可能ファイルのいずれかが含まれる。

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

ソフトウェアのサプライチェーンとセキュリティ

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

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

一般的なフォーマット

特殊なフォーマット

フォーマット プラットフォーム
AIR Adobe AIR
Bottle Homebrew

BSDベースのフォーマット

フォーマット プラットフォーム
.ipa IOS, IPadOS
Ports (BSD) pkgsrc, FreeBSD, OpenBSD[3]
.pkg(英語版) macOS, iOS, PlayStation 3, Solaris, SunOS, UNIX System V, Symbian, BeOS, Apple Newton

Linuxベースのフォーマット

フォーマット プラットフォーム
AAB Android
APK (Alpine) Alpine Linux[4]
APK (Android) Android
AppImage Linuxディストリビューションに依存しない
deb Debianとその派生OS(Raspberry Pi OS、Kali Linux、Ubuntu、Linux Mintなど[5])
ebuild Gentoo Linux[6]
eopkg Solus[7]
Nixpkg Nix, NixOS, Home Manager
Portage Gentoo Linux, ChromeOS[8]
Flatpak Linuxディストリビューションに依存しない
.app, .hap(英語版) HarmonyOS、OpenHarmony、Oniro OS、そして Linux ベースの Unity Operating System
PISI Pardus
.pkg.tar.zst Arch Linux
PUP and PET Puppy Linux (PUP 形式はバージョン 3.0 以降では非推奨)
RPM Red Hat Enterprise Linux、Fedora、CentOSなどの派生[9] そしてSUSE Linux Enterprise、openSUSE
Snap Linuxディストリビューションに依存しない。主にUbuntuのために開発された。

Windows用フォーマット

フォーマット プラットフォーム
APPX(英語版) と APPXBundle Windows 8以降、Windows Phone[10]
Windows Installer package / MSI Microsoft WindowsのWindows Installer

汎用フォーマット

Arch Linux の Pacman と Slackware は、一般的な名前だが特定の内部構造を持つtarアーカイブを使用する[11][12] 。

脚注

  1. ↑ Justin Angelo Cappos, Stork: Secure Package Management for VM Environments[リンク切れ], ProQuest, 2008, p. 128;
  2. ↑ “Protecting Software Integrity Through Code Signing”. National Institute of Standards and Technology (May 23, 2018). 2025年2月5日閲覧。
  3. ↑ “Ports - Working with Ports”. OpenBSD.org. 2025年2月5日閲覧。
  4. ↑ “Alpine package format - Alpine Linux”. wiki.alpinelinux.org. 2016年5月19日閲覧。
  5. ↑ “InstallingSoftware - Community Ubuntu Documentation”. Help.ubuntu.com. 2013年4月24日閲覧。
  6. ↑ “ebuild”. 29 July 2015閲覧。
  7. ↑ “Basics to Package Management”. 2020年8月6日時点のオリジナルよりアーカイブ。1 May 2020閲覧。
  8. ↑ “Using Portage to Manage Packages in Gentoo”. linode.com (July 15, 2021). 2025年2月5日閲覧。
  9. ↑ “rpm - Trac”. 29 September 2014閲覧。
  10. ↑ “App packaging”. 2014年10月8日時点のオリジナルよりアーカイブ。29 September 2014閲覧。
  11. ↑ “makepkg.conf(5) Manual Page”. 2025年2月5日閲覧。
  12. ↑ “The Slackware Linux Project: Configuration Help”. 29 September 2014閲覧。