¿Por qué no hay un gestor de paquetes unificada que actúa como una interfaz entre el usuario final y el gestor de paquetes de bajo nivel subyacente ( apt
, yast
, pacman
, etc.)?
¿Es difícil de hacer y, por lo tanto, no es práctico, o hay un obstáculo genuino que hace imposible hacerlo?
linux
package-management
vonPetrushev
fuente
fuente
Respuestas:
En primer lugar, hay. El problema no es que no haya un administrador de paquetes unificado, el problema es que hay diez de ellos, en serio.
Tomemos mi favorito:
poldek
. Es una interfaz de usuario para la gestión de paquetes que se pueden ejecutar en varias distribuciones diferentes y gestionar bienrpm
odeb
paquetes. Poldek no hace lo que hace rpm (lo deja en rpm) y simplemente envía los comandos correctos sin que el usuario tenga que resolver todo ese desorden.Pero los problemas no terminan ahí. Todos tienen una idea diferente de cómo se supone que debe ser un front end de usuario y cómo debería funcionar y qué opciones debería exponer. Entonces otras personas han escrito las suyas. En realidad, muchos de los administradores de front-end de paquetes que las personas usan en las distribuciones comunes hoy en día pueden manejar más de un back-end.
Al final, sin embargo, el problema (o ventaja) es que a las personas les gusta que las cosas funcionen exactamente de la manera que desean, no de una manera meta que trata de satisfacer a todos solo para no hacer feliz a nadie. Esta es la razón por la que tenemos innumerables millones de distribuciones en primer lugar. Es la razón por la que tenemos tantos entornos de escritorio y administradores de ventanas diferentes (y el hecho de que en realidad son diferentes tipos de cosas).
Todavía hay propuestas destacadas para formas de escribir paquetes universales o tener un administrador que los entienda a todos o tener una API para convertir uno a otro ... pero al final Unix es mejor cuando se usa de acuerdo con su filosofía ... cada herramienta hace una cosa y lo hace bien .
Cada vez que tiene una herramienta que intenta hacer más de una cosa, termina siendo no tan buena en una de ellas. Por ejemplo,
poldek
es un asco manejar las dependencias del paquete deb.fuente
En resumen: porque cada distribución utiliza un enfoque diferente para la gestión de paquetes. Simplemente no son compatibles. La estrategia de administración que funcione mejor para Ubuntu tendrá poco sentido en Arch, etc. Un administrador de paquetes "universal" (independiente de la distribución) sería solo una capa adicional de interfaz de usuario, que nunca funcionaría tan bien como el administrador específico de cada distribución.
Entonces, usando sus propias palabras, es difícil de hacer y, por lo tanto, no es práctico , también porque casi nadie se beneficiaría de ello.
fuente
Razones históricas, principalmente. Varios sistemas de administración de paquetes se establecieron aproximadamente al mismo tiempo, particularmente .rpm y .deb. Cada uno tiene sus seguidores y cada uno es lo suficientemente bueno como para que ningún administrador de paquetes tenga una ventaja convincente. Los distribuidores ciertamente no verán el punto en una reconstrucción desde cero de su sistema para implementar un administrador de paquetes diferente.
Esto también requeriría que cada paquete dentro del sistema (10,000 en el caso de Debian) sea reconstruido. También requeriría la implementación de un sistema de migración sin problemas para que los usuarios del sistema pudieran pasar del administrador de paquetes antiguo al nuevo. El esfuerzo para migrar sería inviablemente grande y exponencialmente mayor para probar la migración, por lo que seguramente obtendrá muchas roturas. Esto generaría muchos apostadores furiosos.
Cada distribución mantiene su propio conjunto de dependencias en función de lo que se creó para esa versión. Un repositorio universal de paquetes será demasiado difícil de coordinar entre las distribuciones ya que es casi seguro que surjan conflictos de dependencia. Por lo tanto, el beneficio real de un sistema unificado de gestión de paquetes (paquetes universales) será imposible de realizar en la práctica de todos modos.
Finalmente, ¿quién puede elegir el administrador de paquetes estándar universal? El cómic XKCD al que se hace referencia en los comentarios sobre el OP resume el modo de falla habitual en este tipo de ejercicio. Estandarizar este tipo de cosas sería muy político y probablemente resultaría en algo que no se puede usar, o tan profundamente defectuoso que generará otra ronda de discusión sobre las normas, si las partes pueden llegar a un acuerdo.
Entonces, básicamente se trata de: demasiado político, demasiado duro, demasiado arriesgado y ningún beneficio para lograrlo al hacerlo.
fuente
Lo que describiste
me suena un poco a PackageKit, es decir ,
Editar: consulte aquí para obtener una lista de backends compatibles. Edit2: Eliminado comentario inútil.
fuente
Primero, comprenda que "Linux" no es un sistema operativo. Es un kernel. Un administrador de paquetes es un concepto a nivel de sistema operativo, no uno a nivel de núcleo. Por lo tanto, pedir un administrador de paquetes unificado para Linux no es realmente sensato.
Sin embargo, si se pregunta por qué los diversos sistemas operativos que utilizan el kernel de Linux no tienen administradores de paquetes compatibles, también puede preguntar por qué Windows y Mac no tienen administradores de paquetes compatibles. O cualesquiera otros dos sistemas operativos.
Los diferentes sistemas operativos satisfacen las necesidades de los diferentes usuarios, y el administrador de paquetes es parte de ello. ¿Por qué no todas las distribuciones de Linux tienen el mismo administrador de ventanas? ¿O viene con el mismo software preinstalado?
Respuesta: diferentes trazos para diferentes personas.
fuente