El formato de empaquetado instantáneo finalmente nos libera del infierno de dependencias al permitir que cada paquete tenga su propia copia de dependencias. Estoy interesado en los detalles técnicos sobre cómo hace esto. ¿Cómo maneja:
- ¿Se ajusta según la versión de una biblioteca ya instalada a través de paquetes deb para la versión actual? ¿Ignora la biblioteca instalada?
- diferentes instantáneas que especifican la misma versión de la misma biblioteca? ¿Hace deduplicación de alguna manera?
- actualizaciones de bibliotecas principales que probablemente sean utilizadas por muchas instantáneas? OpenSSL viene a la mente como un gran punto de dolor.
xdg-app tiene algo llamado "tiempo de ejecución" :
Un concepto fundamental en xdg-app es el tiempo de ejecución / división de la aplicación. Cada aplicación depende de un tiempo de ejecución, que proporciona las bibliotecas principales en las que se basa la aplicación. Normalmente, muchas aplicaciones comparten los tiempos de ejecución, pero un usuario puede tener múltiples tiempos de ejecución instalados al mismo tiempo.
Parece que en el caso de OpenSSL, sería parte del tiempo de ejecución en xdg-apps, por lo que una actualización de OpenSSL debería afectar de manera transparente a todas las aplicaciones xdg que usan el mismo tiempo de ejecución.
fuente
No creo que las instantáneas comprueben qué dependencias ya están instaladas. Solo incluye todas sus dependencias y tiempo de ejecución (que es en parte la razón por la cual el complemento de LibreOffice es de 287 MB y el flatpak es de aproximadamente 200 MB).
Los snaps incluyen casi todo lo que el software necesita para ejecutarse. No creo que se comparta nada entre las instantáneas.
Sin embargo, cuando se actualiza un complemento, solo descargará las dependencias que son nuevas, y no todo el complemento.
fuente
Se requiere una aclaración adicional sobre la forma en que el empaquetado instantáneo maneja las dependencias compartidas.
Esta declaración en una de las respuestas es parcialmente cierta, sin embargo, todos los paquetes de complemento instalados, excepto el núcleo, dependen de dos paquetes, uno de los cuales es el núcleo.
snapd : que se instala por defecto en 16.04 en adelante y también se puede instalar en 14.04.
core : (el complemento de núcleo) que se descarga e instala automáticamente cuando se instala el primer paquete de complemento instalado
Todos los paquetes de complemento, excepto el núcleo, dependen del núcleo. Si hay algún problema con el complemento central, algunas o todas las otras instantáneas no funcionarán. Un problema con el complemento central se puede solucionar de las siguientes dos maneras.
Actualice el complemento central. Incluso si esto no funciona, los resultados de ejecutar el siguiente comando proporcionarán información adicional que ayudará a resolver el problema.
Desinstale el complemento central y todos los paquetes de complemento y luego vuelva a instalarlos.
fuente