Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Package manager
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Common package managers and formats== ===Universal package manager=== Also known as [[binary repository manager]], it is a software tool designed to optimize the download and storage of binary files, artifacts and packages used and produced in the [[software development process]].<ref>{{cite web |url= https://adtmag.com/articles/2015/09/08/jfrog-repository.aspx |title= JFrog Releases 'Universal' Artifact Repository |last= Waters |first= John K. |date= 8 September 2015 |website= ADT Mag |publisher= Application Development Trends Magazine |access-date= 19 February 2016 |archive-date= 2 March 2016 |archive-url= https://web.archive.org/web/20160302162053/https://adtmag.com/articles/2015/09/08/jfrog-repository.aspx |url-status= live }}</ref> These package managers aim to standardize the way enterprises treat all package types. They give users the ability to apply security and compliance metrics across all artifact types. Universal package managers have been referred to as being at the center of a [[DevOps toolchain]].<ref>{{cite web |url=https://www.codeproject.com/Reference/628210/An-Overview-of-the-NuGet-Ecosystem |title=An Overview of the NuGet Ecosystem |last=Decoster |first=Xavier |date=18 August 2013 |website=CodeProject.com |access-date=6 February 2020 |archive-date=5 July 2020 |archive-url=https://web.archive.org/web/20200705022618/https://www.codeproject.com/Reference/628210/An-Overview-of-the-NuGet-Ecosystem |url-status=live }}</ref> ===Package formats=== {{Main article|Package format|File archive}} Each package manager relies on the format and metadata of the packages it can manage. That is, package managers need groups of files to be bundled for the specific package manager along with appropriate metadata, such as dependencies. Often, a core set of utilities manages the basic installation from these packages and multiple package managers use these utilities to provide additional functionality. For example, [[Yellowdog Updater, Modified|yum]] relies on [[RPM Package Manager|rpm]] as a [[Backend (computing)|backend]]. Yum extends the functionality of the backend by adding features such as simple configuration for maintaining a network of systems. As another example, the [[Synaptic Package Manager]] provides a graphical user interface by using the [[Advanced Packaging Tool|Advanced Packaging Tool (apt)]] library, which, in turn, relies on [[dpkg]] for core functionality. [[Alien (file converter)|Alien]] is a program that converts between different [[Linux package formats]], supporting conversion between [[Linux Standard Base]] (LSB) compliant [[RPM Package Manager|.rpm]] packages, [[deb (file format)|.deb]], Stampede (.slp), [[Solaris (operating system)|Solaris]] (.pkg) and [[Slackware]] ([[.tgz]], [[.txz]], .tbz, .tlz) packages. In mobile operating systems, [[Google Play]] consumes [[Android application package]] (APK) package format while [[Microsoft Store]] uses [[APPX]] and [[XAP (file format)|XAP]] formats. (Both Google Play and Microsoft Store have eponymous package managers.) ===Free and open source software systems=== By the nature of [[free and open source software]], packages under similar and compatible licenses are available for use on a number of operating systems. These packages can be combined and distributed using configurable and internally complex packaging systems to handle many permutations of software and manage version-specific dependencies and conflicts. Some packaging systems of free and open source software are also themselves released as free and open source software. One typical difference between package management in proprietary operating systems, such as Mac OS X and Windows, and those in free and open source software, such as Linux, is that free and open source software systems permit third-party packages to also be installed and upgraded through the same mechanism, whereas the package managers of Mac OS X and Windows will only upgrade software provided by Apple and Microsoft, respectively (with the exception of some third party drivers in Windows). The ability to continuously upgrade third-party software is typically added by adding the [[Uniform Resource Locator|URL]] of the corresponding repository to the package management's configuration file. ===Application-level package managers=== {{See also|List of software package management systems#Application-level package managers}} Beside the system-level application managers, there are some add-on package managers for operating systems with limited capabilities and for [[programming language]]s in which developers need the latest [[Library (computing)|libraries]]. Unlike system-level package managers, application-level package managers focus on a small part of the software system. They typically reside within a directory tree that is not maintained by the system-level package manager, such as {{Mono|c:\cygwin}} or {{Mono|/opt/sw}}.<ref>{{Cite web|title=Fink β Home|url=https://www.finkproject.org/index.php|access-date=2021-09-02|website=finkproject.org|archive-date=18 August 2021|archive-url=https://web.archive.org/web/20210818055630/https://finkproject.org/index.php|url-status=live}}</ref> However, this might not be the case for the package managers that deal with programming libraries, leading to a possible conflict as both package managers may claim to "own" a file and might break upgrades.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)