This question is a follow-up to this one: How to install package versions not available with apt-get?
At the linked question, I learned about the Linux package "ecosystemm," including how different Linux distros use different package formats, and some actually have their users compile+install new packages directly from source code!
As a follow up to that, I'd like to ask/learn why this difference in package formats exists.
The accepted answer to the linked question says:
all the child branches [of Linux] are defined mainly by the package management system in use.
Some of the things I'd like to learn are:
Why are package formats so fundamental that they drive the creation of entire Linux distros?
Why have different package formats in the first place? I naively imagine that packages include some combination of executables, shared/static libs, headers, etc., i.e. some "collection of files" that often go into specific directories defined by the Filesystem Hierarchy Standard -- is it not the case that one package format universally solves that problem and/or will have demonstrated itself, over time, as the most superior? I.e. what are some of each distros' rationales to use .deb
vs. .rpm
vs. .zip
, etc.?
Why are there sometimes different package-managers for the same package format? E.g., per my understanding, both Debian and Ubuntu use .deb
files for their packages, but Debian uses dpkg
as its package manager, while Ubuntu uses apt
(and apt-get
?!).