Pregunta:
¿Por qué Ubuntu descarga paquetes .deb
y .snap
paquetes .snap
?
Al menos por ahora mantienen el paquete .deb
para distribuciones normales. .deb
ya es el formato de empaque más popular que existe.
Esto da una idea de cuál es el formato del paquete Snap. Pero, ¿qué pasará con los paquetes deb existentes? ¿Existe alguna ventaja clara al pasar a Snap? ¿Vale la pena el dolor?
Respuesta:
Snap intenta resolver uno de los problemas fundamentales de Linux como sistema operativo de escritorio: la disponibilidad y distribución del software. Sin embargo, Snap no está destinado a reemplazar completamente a debs . Snaps y Debs trabajan juntos.
Soy un entusiasta de Linux y director de proyectos de una aplicación de Linux. Si bien me encantan los sistemas Linux en su conjunto, no puedo soportar el estado actual de la distribución de paquetes. Los formatos de aplicaciones universales como Snaps tienen como objetivo resolver este problema fundamental.
En Linux, los paquetes se crean específicamente para una única versión de una única distribución . Con muchos ajustes, es posible crear un paquete .deb
que se ejecute en todos los sistemas basados en Debian, pero esto es complicado y limita a los desarrolladores. A veces tampoco es práctico debido al bloqueo de versiones de las dependencias.
Si creo un paquete deb para Ubuntu 20.04, solo funcionará en esa versión. También tengo que hacer un paquete diferente para 16.04, 18.04, 20.10 y así sucesivamente. Ya tengo que hacer cuatro paquetes solo para Ubuntu. También necesito hacer uno para cada versión de Debian, cada versión de Fedora y cada versión de openSUSE. RPM es más flexible en este sentido, pero el problema de la dependencia bloqueada todavía se interpone.
Esto significa que si quiero lanzar una nueva versión de mi aplicación, tengo que crear más de 20 paquetes para cubrir la mayoría de las distribuciones de Linux, y eso todavía no cubrirá todas las distribuciones. Una segunda posibilidad es esperar a que los encargados de mantenimiento de la distribución agreguen su paquete a la distribución, pero esto suele llevar una cantidad de tiempo absurda. Además, los encargados de la distribución deciden qué versión obtienen sus usuarios en lugar del desarrollador de software.
Con Snap, un solo paquete se ejecuta en cada versión de cada distribución que admita snap. Consulte Instalación de snapd para obtener una lista de muchas distribuciones que lo admiten.
Además, con Snap, el desarrollador publica y mantiene el paquete , en lugar del encargado de la distribución. Entonces, como desarrollador, puedo lanzar una nueva versión para todos mis usuarios sin tener que esperar a nadie más.
Esencialmente, Snap resuelve todo lo que odio de la distribución de paquetes de Linux. Aunque es importante tener en cuenta que Flatpaks y, hasta cierto punto, AppImages también están resolviendo estos problemas centrales. La discusión sobre qué formato es mejor es muy debatida y una conversación mucho más larga de lo que tiene sentido para esta respuesta. Por ahora, diré que estoy de acuerdo con ejecutar cualquiera de los formatos universales, ya que todos funcionan de manera diferente y, por lo tanto, no entran en conflicto entre sí, lo que hace posible ejecutar los 3 paquetes y los tradicionales al mismo tiempo.
TL; DR
La distribución de paquetes de Linux es terrible tanto para los desarrolladores como para los usuarios. Snaps, Flatpaks y AppImages están destinados a resolver este problema fundamental con los sistemas basados en Linux.
Esta pregunta se trata realmente de por qué la mudanza, pero si alguien está interesado en aprender más sobre qué son los Snaps y cómo funcionan. Creé este video para explicar la estructura en profundidad.