Il y a plusieurs raisons à cela, et un peu d'histoire est pour mettre les choses en perspective.
N'oubliez pas que lorsque nous parlons de «Linux», nous faisons généralement référence à l'une des nombreuses distributions Linux différentes . "Linux" n'est en fait qu'un noyau de système d'exploitation.
L'objectif initial de Linux était de créer un système basé sur Unix qui fonctionnerait sur PC (initialement le 386). La première étape a été de créer le noyau lui-même. Alors que Linus Torvalds travaillait sur le noyau, Richard Stallman travaillait sur son propre système Free Unix, dans le cadre du projet GNU (GNU's Not Unix) . Pour faire court, les deux ont quelque peu convergé parce que GNU avait les utilitaires associés (compilateur C / bibliothèque / outils de construction, shell, éditeurs de texte, etc.) mais pas de noyau pour l'exécuter, et Linux avait le noyau mais pas d'utilitaires pour courir dessus pour le rendre utile pour les masses.
Cette convergence est connue officiellement sous le nom de GNU / Linux. Vous verrez que beaucoup de distributions se réfèrent toujours à elles-mêmes comme des distributions GNU / Linux.
En raison de la nature libre et ouverte de GNU / Linux, n'importe qui pouvait le récupérer et créer un système groupé selon ses goûts spécifiques. Le résultat a été que de nombreux flux différents de méthodes de configuration différentes ont été utilisés pour créer ces systèmes, ce qui a eu pour effet secondaire de créer presque autant de systèmes de gestion de packages différents pour s'adapter à chacun d'eux.
Chaque système complet différent avait ses propres adeptes qui sont restés avec eux au fil des ans, ce qui a abouti à ce que nous avons aujourd'hui: une poignée de systèmes de gestion de packages largement utilisés, profondément enracinés et stables tels que RPM , APT / dpkg et Gentoo's Portage .
Il existe des projets, tels que Autopackage , qui tentent de résoudre le problème, mais l'évolution continue des différents systèmes de gestion de packages pris en charge signifie qu'il existe de nombreuses cibles mobiles à suivre.
Certains éditeurs de logiciels finissent par regrouper les fichiers binaires spécifiques et les copies des dépendances dont ils ont besoin dans un seul grand package qui fonctionnera sur des systèmes spécifiques.