コンテンツにスキップ

パッケージフォーマット

出典: フリー百科事典『ウィキペディア(Wikipedia)』

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

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

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

[編集]

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

コード署名英語版をサポートするパッケージ形式には、.debDebian)、.msiMicrosoft Windows)、.apkAndroid)、.ipaiOSiPadOS)などがある。

一般的なフォーマット

[編集]

特殊なフォーマット

[編集]
フォーマット プラットフォーム
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 OSKali LinuxUbuntuLinux Mintなど[5]
ebuild Gentoo Linux[6]
eopkg Solus[7]
Nixpkg Nix, NixOS, Home Manager
Portage Gentoo Linux, ChromeOS[8]
Flatpak Linuxディストリビューションに依存しない
.app, .hap英語版 HarmonyOSOpenHarmony、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 LinuxFedoraCentOSなどの派生[9] そしてSUSE Linux EnterpriseopenSUSE
Snap Linuxディストリビューションに依存しない。主にUbuntuのために開発された。

Windows用フォーマット

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

汎用フォーマット

[編集]

Arch LinuxPacmanSlackware は、一般的な名前だが特定の内部構造を持つ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閲覧。