Package format
A package format (AKA Package) is a type of
Packages may be converted from one type to another with software such as Alien.
Software Development Lifecycle
Packages are important artifacts produced during the implementation phase of the Software Development Lifecycle (SDLC) . They are the products of the implementation phase, used during Customer Acceptance Testing and Service phases to determine if the software is viable to be put into service.
Package artifacts provide a reproducible configuration, allowing for quality (customer) acceptance teams to validate a software component as ready for service to customers. [2]
Software Supply Chain and Security
Packages are an important component in managing the security and integrity of the software supply chain. Packages containing executables & configuration can be digitally signed (see Code signing) to establish the integrity of running software and protect against tampering. [3]
Package formats that support Code signing include .deb (Debian), .msi (Microsoft Windows), .apk (Android) and .ipa (IOS, IPadOS)
Common formats
Specialized formats
Format | Consumed by |
---|---|
AAB | Android |
AIR | Adobe AIR |
APK (Alpine)
|
Alpine Linux[4] |
APK (Android)
|
Android |
AppImage | Linux distribution-agnostic. |
APPX and APPXBundle
|
Windows 8 and later, Windows Phone[5] |
Bottle | Homebrew |
Deb | Ubuntu, and Linux Mint[6]
|
ebuild
|
Gentoo Linux[7] |
eopkg | Solus[8] |
.ipa | IOS, IPadOS |
nixpkg | Nix, NixOS, Home Manager |
Portage | Gentoo Linux, ChromeOS[9] |
Ports (BSD) | OpenBSD[10] |
Flatpak | Linux distribution-agnostic. |
.app, .hap | HarmonyOS, OpenHarmony, Oniro OS and Linux based Unity Operating System |
PISI
|
Pardus |
PKG | |
.pkg.tar.zst | Arch Linux |
PUP and PET | Puppy Linux (PUP format is deprecated since version 3.0) |
RPM | SUSE Linux Enterprise Server, openSUSE
|
Snap | Linux distribution-agnostic, mainly developed for Ubuntu |
Windows Installer package / MSI | Windows Installer on Microsoft Windows |
Generic formats
but specific internal structures.References
- ^ Justin Angelo Cappos, Stork: Secure Package Management for VM Environments[permanent dead link], ProQuest, 2008, p. 128;
- ^ "What is the software development lifecycle (SDLC)? Phases and models".
- ^ "Protecting Software Integrity Through Code Signing". nist.gov.
- ^ "Alpine package format - Alpine Linux". wiki.alpinelinux.org. Retrieved May 19, 2016.
- ^ "App packaging". Retrieved September 29, 2014.
- ^ "InstallingSoftware - Community Ubuntu Documentation". Help.ubuntu.com. Retrieved April 24, 2013.
- ^ "ebuild". Retrieved July 29, 2015.
- ^ "Basics to Package Management". Retrieved May 1, 2020.
- ^ "Using Portage to Manage Packages in Gentoo". linode.com.
- ^ "Ports - Working with Ports". OpenBSD.org.
- ^ "rpm - Trac". Retrieved September 29, 2014.
- ^ "makepkg.conf(5) Manual Page".
- ^ "The Slackware Linux Project: Configuration Help". Retrieved September 29, 2014.