¿Por qué Ubuntu se está moviendo a paquetes Snappy?

127

¿Por qué Ubuntu descarta paquetes .deb y pasa a paquetes .snappy? (Al menos por ahora mantienen el paquete .deb para distribuciones normales). .deb ya es el empaque más popular que existe.

Esto da una idea sobre el formato del paquete Snappy. Pero, ¿qué pasará con los paquetes deb existentes? ¿Hay alguna ventaja clara en mudarse a Snappy? ¿Vale la pena el dolor?

Vishnudev K
fuente
1
El enlace es borken
y30

Respuestas:

147

Snappy es un intento de resolver uno de los problemas fundamentales con Linux como sistema operativo de escritorio y ese problema es la disponibilidad y distribución del paquete. Sin embargo, Snappy no está completamente destinado a reemplazar debs. Snaps y Debs trabajan juntos.

Soy entusiasta de Linux y gerente de proyectos de una aplicación de Linux. Si bien amo los sistemas Linux en general, desprecio el estado actual de la distribución de paquetes. Snappy tiene como objetivo resolver este problema fundamental.

En Linux, los paquetes son específicos de la distribución en su mayor parte (es posible hacer un DEB que se ejecute en todos los diferentes sistemas basados ​​en Debian pero que lo limite de alguna manera), pero no solo que los paquetes sean específicos de la versión de distribución.

Si creo un paquete deb para Ubuntu 16.04, ese paquete no funcionará en ninguna versión de Ubuntu. También tengo que hacer un 14.04, 15.04, 15.10, y así sucesivamente. Estas son SOLO debs de Ubuntu. También necesito hacer uno para Debian. Entonces necesita hacer RPM para Fedora 21, 22, 23, etc. y esos RPM ni siquiera cubren openSUSE.

Esto significa que si quiero lanzar una nueva versión de una aplicación y no esperar a que los mantenedores de distribución la incluyan en un repositorio (que generalmente toma una cantidad absurda de tiempo), entonces tengo que proporcionar más de 20 paquetes para cubrir la mayoría de las distribuciones de Linux y aun así eso no va a estar cubriendo todo.

Los Snaps de Ubuntu proporcionan una manera de crear un Snap que se ejecuta en cada versión de Ubuntu que admita Snaps. Ya no se distribuye la versión específica.

Los snaps se pueden integrar en otras distribuciones. Potencialmente ya no es distro específico.

Los snaps se controlan en un repositorio destinado a ser mantenido por los desarrolladores de paquetes, por lo que cuando queremos lanzar una nueva versión no tenemos que esperar a nadie.

Esencialmente, todo lo que odio sobre la distribución de paquetes de Linux será resuelto por Snappy. Aunque es importante tener en cuenta que estos problemas también serían resueltos por AppImages y Flatpaks .

TL; DR

La distribución de paquetes de Linux es horrible tanto para desarrolladores como para usuarios. Snappy (también AppImages y Flatpaks) están destinados a resolver este problema fundamental con sistemas basados ​​en Linux.


Esta pregunta es realmente acerca 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.

Michael Tunnell
fuente
13
Dios, lo haces sonar muy duro, excepto que nadie admite tantas versiones de Fedora, Debian o Ubuntu. Para el momento en que sale 16.04, 15.04 es EOL. Para cuando Fedora 23 salga, a F21 le queda menos de un mes de vida, el tiempo suficiente para que las personas se salten un lanzamiento. No es que importe. Una vez que haya escrito el archivo de especificaciones RPM base o el paquete base de Debian, las otras distribuciones son versiones ajustadas, y luego es solo un trabajo de Jenkins construirlas para cada nueva versión.
John Franklin
10
Los paquetes de Ubuntu están hechos para esa cantidad de versiones: 14.04, 15.10, 16.04 y algunos siguen admitiendo LTS antiguos como 12.04, que todavía es compatible. || Fedora no tiene LTS, por lo que tiene menos versiones que admitir, pero todavía tiene al menos 2 versiones con posibles 3 versiones para admitir. || ¿Qué te suena mejor? A. haga múltiples paquetes de cada versión de la misma aplicación para una distribución y haga eso para múltiples distribuciones. O B. haga un complemento para cada versión de su aplicación y eso funciona en cualquier distribución y cualquier versión de dicha distribución. Sí, voto por las fotos en esos escenarios.
Michael Tunnell
44
@ user447607 Usted no está entendiendo qué es Snaps y Snappy. No habrá mucha redundancia, habrá tiempos de ejecución y habrá opciones para que los snaps dependan de otros snaps para ahorrar espacio. Esto ya es posible, de hecho. Snappy es un sistema de administración de paquetes diferente que maneja snaps y apt todavía está involucrado con los DEB. Los snaps no reemplazan a los DEB, sino que los aumentan, por lo que obtienes un enfoque híbrido que cubre ambos métodos. De hecho, los Snaps se pueden generar automáticamente a través de DEB existentes.
Michael Tunnell
2
@konung Docker es puramente contenedorización donde Snaps tiene eso, así como la integración con los componentes centrales del sistema. Por ejemplo, Docker requiere que todo se incluya en el contenedor para usarlo. Sin embargo, los Snaps solo requieren que se incluyan las necesidades y luego podría verse fuera del complemento para utilizar otras cosas. Los Snaps también tienen una infraestructura MUCHO mejor porque Docker no tiene un mecanismo de actualización real, pero los Snaps utilizan un sistema de administración de paquetes similar al APT para Debian. Sugiero revisar el video que vinculé en la publicación original. Planeo hacer una versión actualizada pronto.
Michael Tunnell
66
@konung Snaps no son contenedores. Mucha gente los compara con Docker, por ejemplo, pero Docker es verdaderos contenedores donde los Snaps no lo son. Los snaps son como contenedores, pero no son contenedores completos porque permiten excepciones fuera del confinamiento. Por ejemplo, la configuración / configs / data se almacena fuera de Snap dentro de la carpeta / home. De esta manera, puede tener tantas versiones de un complemento como desee, todas compartiendo los mismos datos / configuraciones.
Michael Tunnell
20

Es simple. El paquete Snappy contiene todos los archivos necesarios , donde los paquetes .deb dependen de otros paquetes.

El lado negativo es que snappy es más grande porque contiene todos los archivos. Pero la gran ventaja es que no tendrá problemas con otros paquetes y si elimina este paquete, ningún otro paquete se verá afectado por las dependencias faltantes.

Alex WLBI
fuente
77
También significa pesadilla de seguridad. Oh, por favor demuéstrame que estoy equivocado ... porque tener razón sería muy horrible.
Jürgen A. Erhard
27
Entonces, esencialmente están tomando el camino de Windows, que irónicamente fue burlado por los Linux-ers en el pasado.
Pithikos
1
Hola, @ JürgenA.Erhard, según tengo entendido, cada paquete tendrá sus propias bibliotecas, por ejemplo, criptografía, por lo que, en lugar de verificar una (es decir, autocompilar), básicamente tienes que lidiar con cada paquete individualmente, eso es lo que quieres decir con "pesadilla de seguridad"?
Ilya
Corrección: "contiene todos los archivos requeridos" no es precisa ya que hay instantáneas centrales que actúan como tiempos de ejecución. Sin embargo, esto se agregó después de la respuesta original, por lo que era correcto en ese momento, pero muchas cosas han cambiado desde entonces.
Michael Tunnell
7

Snappy Personal, su nuevo enfoque para la gestión / actualización de paquetes diseñado para ser más rápido, más confiable, transaccional y con mayor seguridad.

Snappy para al menos uno de sus giros de escritorio: el plan es cambiar el giro Desktop-Next de Ubuntu de .deb a Snappy Personal.

.deb todavía estará allí y un usuario normal aún puede usarlo regularmente al momento de convertir .deb a snappy.

Snappy se utilizará para unificar el concepto de gestión de paquetes entre el ioT que ahora usa snappy como su núcleo Os. Además, Snappy proporciona una mejor manera de actualizar y deshacerse del problema durante la actualización / actualización, ya que utiliza el concepto de imagen completa, lo que significa que la actualización será solo de una pieza y, por lo tanto, no hay medios para fallar

Lea esos artículos para más información:

http://www.webupd8.org/2015/04/ubuntu-desktop-to-eventually-switch-to.html

http://www.itworld.com/article/2914850/linux/is-ubuntu-moving-away-from-deb-packages-here-is-the-complete-story.html

También hay un video de control de calidad de ubuntu en el aire que responde muchas preguntas https://youtu.be/lHO8j8uo5Z4

Maythux
fuente
99
¿Por qué no pueden hacer un paquete .deb versión 2 con compatibilidad con versiones anteriores? ¿Por qué hacer una división en la comunidad de Linux? Por ahora, el plan es migrar lentamente a Snappy a menos que sea un fracaso total.
Vishnudev K
quieren unificar el concepto de gestión de paquetes entre el ioT que ahora usa snappy como su núcleo Os. Por otra parte Snappy proporcionar una mejor manera en la actualización y deshacerse de los problemas durante la actualización / mejora, ya que utilizan el concepto de imagen completa, que significa que la actualización será sólo una pieza y por lo tanto no hay medio de fallar
Maythux
3
Ya es bastante malo con la gran variedad de métodos para empaquetar en Linux (que ya causa problemas con programas de terceros), otro solo hará un desastre mayor: - /
Wilf
@Maythux. ¿Qué es un ioT?
TRiG
44
@Maythux xkcd.com/927
un CVn
4

Considere cambiar a Ubuntu Core hoy si está pensando en crear algo para que otros lo usen, en otras palabras, un producto .

El software se entrega en instantáneas , lo que dadas sus características, podemos confiar en que la instalación y las actualizaciones funcionarán en cada sistema como lo pretendía el creador original. Otros rasgos son la seguridad, como la ejecución aislada y las interfaces limpias para comunicarse con el sistema y configurar las instantáneas instaladas.

Para lograr tal cosa, las instantáneas difieren mucho de las de un paquete Debian:

  • los snaps viven en una ubicación determinada determinada por el sistema, mientras que los paquetes de Debian pueden distribuir archivos por todo el lugar.
  • no hay scripts de mantenedor para las instantáneas.

Volviendo a la pregunta original de usar o no usar , si planea reemplazar su escritorio con Ubuntu Core, le sugiero que se quede con el escritorio habitual de Ubuntu. Ubuntu Core, personalmente me gusta llamar, la distro de nada , porque solo no es nada, pero proporciona un muy buen componente para ofrecer algo y es por eso que es popular en IoT en estos días.

sergiusens
fuente
3
En otras palabras, ¿es como lo que hace Windows?
Vishnudev K
1
Esa es una pregunta amplia. ¿Qué hace Windows en particular?
sergiusens
44
Estoy instalando VLC en Windows, instala todos los paquetes necesarios para acaparar el espacio. donde como en linux obtenemos solo los paquetes que no tenemos. Es bastante conveniente en términos de actualizaciones y uso de disco duro.
Vishnudev K
2
Similar, si. No es diferente a instalar un apken su teléfono. Las aplicaciones pueden evolucionar con sus dependencias como mejor les parezca. Sin embargo, hay formas de dividir esto, como mediante el uso de frameworkinstantáneas, aunque esto requiere una revisión de seguridad estricta. La diferencia con Windows es que aquí no hay instaladores que puedan aterrizar donde quieran.
sergiusens