GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Snap vs APT:¿Cuál es la diferencia?

Introducción

En comparación con otros sistemas operativos principales, Linux adopta un enfoque diferente para la gestión de software. El software en Linux se organiza tradicionalmente en repositorios. Los repositorios contienen aplicaciones y todas las dependencias necesarias para ejecutarlas.

Si bien el uso de repositorios es conveniente por muchas razones, a menudo presenta un obstáculo para los usuarios que no son expertos en tecnología. Se han creado varios sistemas de empaquetado alternativos en los últimos años para hacer que la experiencia de Linux sea más fácil de usar.

En este artículo de comparación, conocerá las diferencias entre el sistema de empaquetado Snap y el administrador de paquetes APT.

¿Qué es Snap?

Snap es un paquete de software y un sistema de implementación que utiliza paquetes autónomos llamados snaps para entregar software a los usuarios. Snaps empaqueta todas las dependencias que requiere un programa en un solo paquete. De esta forma, la aplicación es independiente del sistema, lo que significa que puede ejecutarse de forma nativa en cualquier distribución de Linux que admita Snap.

Si bien APT obtiene principalmente paquetes de los repositorios oficiales de una distribución, Snap permite a los desarrolladores entregar sus aplicaciones directamente a los usuarios a través de Snap Store. Los desarrolladores también pueden publicar instantáneas directamente en sus sitios web.

La herramienta para la gestión de instantáneas se llama snapd . Es un demonio que permite que un sistema ejecute paquetes instantáneos. Los usuarios interactúan con snapd usando el snap cliente.

A continuación se muestra un ejemplo de una instalación de Thunderbird usando el snap comando:

¿Qué es APT?

APT (Advanced Package Tool) es un administrador de paquetes de software para instalar y eliminar paquetes en sistemas basados ​​en Debian. APT automatiza el proceso de recuperación, configuración, actualización, instalación y eliminación de paquetes. APT es una interfaz del sistema de administración de paquetes base de Debian dpkg .

Uno de los principales beneficios de APT es la forma en que maneja las dependencias de software. Después de que un usuario emite un comando para instalar un paquete, APT busca en los repositorios las dependencias del paquete e instala aquellas que aún no se han instalado en el sistema.

La herramienta que APT utiliza principalmente para interactuar con los usuarios es apt . La utilidad ofrece los más populares apt-get y apt-cache comandos, que se consideran menos fáciles de usar.

La captura de pantalla muestra la instalación de Thunderbird usando apt :

Ajuste vs. APT:Diferencias

Antes de entrar en detalles sobre las diferencias entre Snap y APT, es necesario comprender los niveles en los que podemos compararlos.

La siguiente tabla explica la terminología y proporciona los principales puntos de comparación:

Formato de paquete

Ajuste usa .snap archivos, disponibles para descargar en Snap Store o en el sitio web de su desarrollador. El .snap El archivo contiene una aplicación, sus dependencias y los metadatos en un sistema de archivos comprimido SquashFS.

Las aplicaciones Snap están en contenedores, de forma similar a la forma en que Docker empaqueta sus contenedores. Sin embargo, a diferencia de los contenedores Docker, las aplicaciones instantáneas tienen acceso limitado al sistema host, principalmente para almacenar archivos de configuración y usar la E/S del sistema.

APT usa .deb archivos de repositorios de software en línea para cada distribución de Linux que los admita. Un .deb El archivo es un archivo Unix, que incluye dos archivos tar. Un archivo contiene la información de control, mientras que el otro presenta los archivos utilizados para la instalación del paquete.

Tamaño del paquete

Instantáneas son autónomos, lo que da como resultado un .snap relativamente considerable expediente. Cuando un usuario instala un complemento, el archivo se descomprime y se monta como un dispositivo de bucle invertido de solo lectura en el directorio de inicio.

Una aplicación instalada a través de APT es más pequeño en tamaño que su contraparte instantánea porque no necesita agrupar dependencias de paquetes.

Dependencias

Ajuste agrupa las dependencias del paquete dentro del paquete. Si bien este enfoque afecta negativamente el tamaño del paquete, el principal beneficio es que los usuarios siempre tienen la versión compatible y probada del paquete.

APTO utiliza un enfoque de dependencias compartidas. Cuando un usuario emite una apt install comando, APT lee la lista de dependencias, verifica si el sistema ya tiene algunos de los paquetes instalados e instala los que faltan. Esta técnica mantiene una pequeña huella de memoria.

Facilidad de uso

La diferencia en la facilidad de uso para los usuarios finales no es significativa. Ajuste las aplicaciones son universales y más prácticas de mantener para los desarrolladores, y lanzar una actualización es un proceso sencillo de cambiar un solo paquete.

Por otro lado, APT comprueba los repositorios para encontrar actualizaciones. Cuando una actualización está lista, el sistema de repositorio requiere una versión separada para cada distribución (Ubuntu, Linux Mint, Pop! OS, etc.) y cada versión de distribución (Ubuntu 18.04, Ubuntu 20.04, etc.). Este método lleva mucho tiempo y, a veces, provoca retrasos en ciertas distribuciones.

Velocidad

Ajuste tiene tiempos de inicio más largos que APT ya que el sistema operativo descomprime las instantáneas en el primer uso para ahorrar espacio en disco. Sin embargo, las instantáneas son más lentas solo en la primera ejecución:la diferencia disminuye o desaparece por completo en la segunda puesta en marcha.

Actualizaciones

El chasquido el proceso de actualización es automático. Los usuarios no pueden evitar que una aplicación instantánea se actualice, solo retrasar el proceso. Los desarrolladores de Snap no están limitados en términos de cuándo pueden lanzar una actualización.

APTO otorga control completo al usuario sobre el proceso de actualización. Sin embargo, cuando una distribución corta un lanzamiento, generalmente congela las versiones preliminares y no las actualiza durante la duración del lanzamiento. Por lo tanto, Snap es la mejor solución para los usuarios que prefieren las versiones más recientes de la aplicación.

Integración de GUI

Instantáneas están diseñados para ser universales. Como tales, no se integran perfectamente con las GUI de varias distribuciones.

Recientemente ha habido algún desarrollo en la comunidad de Snap con respecto a la integración de temas. Incluye la introducción de un servicio en segundo plano que observa los cambios de tema y ofrece a los usuarios ajustar su aplicación para que se ajuste al tema del sistema operativo. Sin embargo, este es un trabajo en progreso y las instantáneas aún no se integran completamente en el sistema operativo host.

Por otro lado, .deb archivos usados ​​por APT son específicos de la distribución y la versión, lo que da como resultado proporcionar la experiencia de Linux predeterminada en términos de integración de temas.

Seguridad

Instantáneas admiten la validación de firmas y, dada su naturaleza confinada, se consideran una solución segura para la implementación de aplicaciones. Sin embargo, dado que el editor proporciona la aplicación directamente al usuario, el usuario debe confiar en el editor. No se realizan revisiones externas.

Por otro lado, cada distribución de Linux revisa los debs incluidos en su repositorio. Entonces, APT los usuarios pueden estar seguros de que la aplicación proviene de una fuente confiable. Esto no se aplica a repositorios de terceros o versiones preliminares disponibles en sitios web de editores.

Ajuste vs. APT:¿Cuál elegir?

Elija Ajustar si:

  • No desea que se integren paquetes innecesarios en su sistema. Con Snaps, los paquetes permanecen confinados en el .snap paquete.
  • Quiere asegurarse de tener la versión más actualizada de la aplicación. Snap actualizaciones de forma automática y continua, sin bloqueos de funciones para distribuciones específicas.
  • Quieres aislar una aplicación.

Elija APT si:

  • Prefiere que las aplicaciones sean revisadas por la distribución que está utilizando.
  • Le preocupa conservar su espacio de almacenamiento. Las aplicaciones instaladas por APT comparten sus dependencias.
  • Desea que las aplicaciones se integren correctamente en el entorno GUI.

Ubuntu
  1. Ubuntu Server vs Desktop:¿Cuál es la diferencia?

  2. ¿La diferencia entre [[ $a ==Z* ]] y [ $a ==Z* ]?

  3. ¿Cuál es la diferencia entre los métodos Tasksel y Normal?

  4. La diferencia entre localizar/dónde está/cuál?

  5. ¿La diferencia entre Lubuntu y Lxde?

VPN vs VDI:¿Cuál es la diferencia?

Conmutación por error frente a Conmutación por recuperación:¿Cuál es la diferencia?

¿Cuál es la diferencia entre el comando apt y apt-get?

Sabores de Ubuntu:¿Cuál es la diferencia?

¿La función de la lista de dispositivos de bucle?

¿Cuál es la diferencia entre una consola, una terminal y un shell?

    Ajuste APTO
    Tipo de paquete .snap .deb
    Nombre de la herramienta snapd APTO
    Herramienta CLI snap apt
    Formato Archivo SquashFS archivo ar
    Disponible en Tienda de instantáneas Repositorios Debian
    Tamaño de instalación Más grande Más pequeño
    Dependencias Contenido en el paquete Compartido
    Actualizaciones Automático Manual
    Confinamiento de seguridad Confinados Confinamiento limitado
    Múltiples instalaciones Posible No es posible
    Instalaciones de varias versiones Posible No es posible