パッケージフォーマット
表示
パッケージフォーマットは、コンピュータプログラムと、パッケージマネージャに必要なメタデータを含むアーカイブの一種である[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] 。
脚注
[編集]- ^ Justin Angelo Cappos, Stork: Secure Package Management for VM Environments[リンク切れ], ProQuest, 2008, p. 128;
- ^ “Protecting Software Integrity Through Code Signing”. National Institute of Standards and Technology (May 23, 2018). 2025年2月5日閲覧。
- ^ “Ports - Working with Ports”. OpenBSD.org. 2025年2月5日閲覧。
- ^ “Alpine package format - Alpine Linux”. wiki.alpinelinux.org. 2016年5月19日閲覧。
- ^ “InstallingSoftware - Community Ubuntu Documentation”. Help.ubuntu.com. 2013年4月24日閲覧。
- ^ “ebuild”. 29 July 2015閲覧。
- ^ “Basics to Package Management”. 2020年8月6日時点のオリジナルよりアーカイブ。1 May 2020閲覧。
- ^ “Using Portage to Manage Packages in Gentoo”. linode.com (July 15, 2021). 2025年2月5日閲覧。
- ^ “rpm - Trac”. 29 September 2014閲覧。
- ^ “App packaging”. 2014年10月8日時点のオリジナルよりアーカイブ。29 September 2014閲覧。
- ^ “makepkg.conf(5) Manual Page”. 2025年2月5日閲覧。
- ^ “The Slackware Linux Project: Configuration Help”. 29 September 2014閲覧。