Pourquoi est - il pas un gestionnaire de paquets unifié qui agit comme une interface entre l'utilisateur final et le gestionnaire de paquets à faible niveau sous - jacent ( apt
, yast
, pacman
, etc.)?
Est-ce difficile à faire et donc pas pratique, ou y a-t-il un véritable obstacle qui le rend impossible à faire?
linux
package-management
vonPetrushev
la source
la source
Réponses:
Tout d'abord, il y en a. Le problème n'est pas qu'il n'y a pas de gestionnaire de paquets unifié, le problème est qu'il y en a dix - sérieusement.
Allons prendre mon préféré:
poldek
. Il s'agit d'une interface utilisateur pour la gestion des packages qui peut s'exécuter sur plusieurs distributions différentes et gérer les packagesrpm
oudeb
. Poldek ne fait pas ce que fait rpm (il laisse cela à rpm) et envoie simplement les bonnes commandes sans que l'utilisateur n'ait à comprendre tout ce gâchis.Mais les problèmes ne s'arrêtent pas là. Tout le monde a une idée différente de ce à quoi doit ressembler un frontal utilisateur, comment il devrait fonctionner et quelles options il devrait exposer. Donc, d'autres personnes ont écrit la leur. En fait, de nombreux gestionnaires frontaux de packages que les gens utilisent dans les distributions courantes sont capables de gérer plus d'un backend.
En fin de compte, cependant, le problème (ou l'avantage) réside dans le fait que les gens aiment que les choses fonctionnent exactement comme elles le souhaitent, et non d'une certaine façon qui essaie de satisfaire tout le monde mais échoue à vraiment rendre quelqu'un heureux. C'est la raison pour laquelle nous avons énormément de distributions de gazillions en premier lieu. C'est la raison pour laquelle nous avons tant d'environnements de bureau et de gestionnaires de fenêtres différents (et le fait qu'il s'agit en fait de différents types de choses).
Il y a encore des propositions exceptionnelles pour écrire des packages universels ou avoir un gestionnaire qui les comprend tous ou avoir une API pour les convertir l'un en l'autre ... mais au final Unix est le meilleur lorsqu'il est utilisé selon sa philosophie ... chaque outil fait une chose et le fait bien .
Chaque fois que vous avez un outil qui essaie de faire plus d'une chose, il finit par ne pas être aussi bon pour l'une d'entre elles. Par exemple,
poldek
ça craint de gérer les dépendances du paquet deb.la source
En bref: parce que chaque distribution utilise une approche différente de la gestion des packages. Ils ne sont tout simplement pas compatibles. La stratégie de gestion qui fonctionne le mieux pour Ubuntu n'aura que peu de sens sur Arch, etc. Un gestionnaire de packages "universel" (indépendant de la distribution) ne serait qu'une couche supplémentaire d'interface utilisateur, qui ne fonctionnerait jamais aussi bien que le gestionnaire spécifique de chaque distribution.
Donc, en utilisant vos propres mots, c'est difficile à faire et donc pas pratique - aussi parce que presque personne n'en bénéficierait.
la source
Raisons historiques, principalement. Plusieurs systèmes de gestion de paquets ont été mis en place à la même époque - en particulier .rpm et .deb. Chacun a ses adhérents et chacun est assez bon pour qu'aucun gestionnaire de paquets unique n'ait un avantage convaincant. Les distributeurs ne verront certainement pas l'intérêt d'une refonte complète de leur système pour implémenter un gestionnaire de packages différent.
Cela nécessiterait également que chaque paquet du système (10 000 dans le cas de Debian) soit reconstruit. Cela nécessiterait également la mise en place d'un système de migration fluide afin que les utilisateurs du système puissent passer de l'ancien au nouveau gestionnaire de packages. L'effort de migration serait incroyablement important et exponentiellement plus important pour tester la migration, vous obtiendriez donc certainement de nombreuses ruptures. Cela générerait de nombreux parieurs furieux.
Chaque distribution conserve son propre ensemble de dépendances en fonction de ce qui a été créé pour cette version. Un référentiel de packages universel sera trop difficile à coordonner entre les distributions car des conflits de dépendance sont presque certains de se produire. Par conséquent, l'avantage réel d'un système de gestion unifiée des packages (packages universels) sera de toute façon impossible à réaliser dans la pratique.
Enfin, qui peut choisir le gestionnaire de paquets standard universel? La bande dessinée XKCD référencée dans les commentaires sur l'OP résume le mode de défaillance habituel dans ce type d'exercice. La normalisation de ce genre de chose serait très politique et entraînerait probablement quelque chose d'inutilisable, ou si profondément défectueux qu'elle engendrerait une nouvelle série d'écriture manuscrite sur les normes - si les parties pouvaient parvenir à un accord.
Donc, fondamentalement, cela se résume à: trop politique, trop dur, trop risqué et aucun avantage à réaliser en le faisant.
la source
Ce que vous avez décrit,
sonne un peu comme PackageKit pour moi, c'est-à- dire
Modifier: Voir ici pour une liste des backends pris en charge. Edit2: Suppression de la remarque inutile.
la source
Tout d'abord, comprenez que «Linux» n'est pas un système d'exploitation. C'est un noyau. Un gestionnaire de packages est un concept au niveau du système d'exploitation, et non au niveau du noyau. Par conséquent, demander un gestionnaire de paquets unifié pour Linux n'est pas vraiment sensé.
Cependant, si vous demandez pourquoi les différents systèmes d'exploitation qui utilisent le noyau Linux n'ont pas de gestionnaires de paquets compatibles, vous pouvez aussi bien vous demander pourquoi Windows et Mac n'ont pas de gestionnaires de paquets compatibles. Ou deux autres systèmes d'exploitation.
Différents systèmes d'exploitation répondent aux besoins des différents utilisateurs, et le gestionnaire de packages en fait partie. Pourquoi toutes les distributions Linux n'ont-elles pas le même gestionnaire de fenêtres? Ou venez-vous avec le même logiciel préinstallé?
Réponse: Différents traits pour différentes personnes.
la source