Dafür gibt es viele Gründe, und ein bisschen Geschichte dient dazu, die Dinge ins rechte Licht zu rücken.
Denken Sie daran, dass es sich bei dem Begriff "Linux" im Allgemeinen um eine von vielen verschiedenen Linux-Distributionen handelt . "Linux" ist eigentlich nur ein Betriebssystemkernel.
Das ursprüngliche Ziel von Linux war es, ein Unix-basiertes System zu entwickeln, das auf PCs (ursprünglich 386) ausgeführt werden kann. Der erste Schritt bestand darin, den Kernel selbst zu erstellen. Während Linus Torvalds am Kernel arbeitete, arbeitete Richard Stallman im Rahmen des GNU-Projekts (Not Unix) an seinem eigenen freien Unix-System . Um es kurz zu machen, die beiden waren sich einig, dass GNU die dazugehörigen Dienstprogramme (C-Compiler / Bibliothek / Build-Tools, Shell, Texteditoren usw.) hatte, aber keinen Kern, auf dem es ausgeführt werden konnte, und Linux hatte den Kern, aber keine Dienstprogramme laufen Sie darauf, um es für die Massen nützlich zu machen.
Diese Konvergenz wurde etwas offiziell als GNU / Linux bekannt. Sie werden sehen, dass sich viele Distributionen immer noch als GNU / Linux-Distributionen bezeichnen.
Aufgrund des freien und offenen Charakters von GNU / Linux konnte jeder es aufgreifen und ein gebündeltes System für seinen speziellen Geschmack erstellen. Das Ergebnis war, dass viele verschiedene Streams unterschiedlicher Konfigurationsmethoden verwendet wurden, um diese Systeme zu erstellen. Dies hatte den Nebeneffekt, dass fast genauso viele verschiedene Paketverwaltungssysteme erstellt wurden, die in jedes System passen.
Jedes einzelne Komplettsystem hatte seine eigenen starken Anhänger, die im Laufe der Jahre daran festhielten, was zu dem führte, was wir heute haben: eine Handvoll weit verbreiteter, tief verwurzelter und stabiler Paketverwaltungssysteme wie RPM , APT / dpkg und Gentoos Portage .
Es gibt Projekte wie Autopackage , die versuchen, das Problem zu lösen, aber die ständige Weiterentwicklung der verschiedenen unterstützten Paketverwaltungssysteme bedeutet, dass viele bewegliche Ziele verfolgt werden müssen.
Einige Softwareanbieter bündeln die spezifischen Binärdateien und Kopien der Abhängigkeiten, die sie benötigen, in einem großen Paket, das auf bestimmten Systemen funktioniert.