Categoría: Linux

  • Pildora – ¿Qué problema resuelve Snap?

    Pildora – ¿Qué problema resuelve Snap?

    Snap es un sistema de empaquetado y distribución de software desarrollado por Canonical, la empresa detrás de Ubuntu.
    Su propósito es simplificar la instalación de aplicaciones en Linux y hacer que funcionen igual en cualquier distribución.

    ¿Qué problema resuelve Snap?

    Tradicionalmente, cada distribución Linux usa su propio sistema de paquetes:

    • Ubuntu/Debian usan .deb
    • Fedora usa .rpm
    • Arch usa pacman

    Eso obliga a los desarrolladores a crear versiones distintas del mismo programa para cada sistema.
    Snap elimina esa fragmentación: crea un paquete único y autocontenido, que funciona en cualquier distribución compatible con snapd.

    ¿Qué contiene un paquete snap?

    Un snap no solo trae el programa principal, sino todas sus dependencias: bibliotecas, binarios y configuraciones necesarias para ejecutarlo.
    En cierto modo, se comporta como un mini contenedor, aunque no es Docker: no usa el kernel aislado, pero sí espacios de nombres (namespaces) para mantenerlo separado del sistema principal.


    ¿Cómo se instala y usa?

    Primero se instala el servicio que gestiona los snaps:

    sudo apt install snapd

    Luego puedes instalar aplicaciones desde el Snap Store:

    sudo snap install wekan sudo snap install nextcloud sudo snap install code --classic

    Cada aplicación queda montada en un entorno aislado bajo /snap/ y se actualiza sola en segundo plano.


    ¿Qué ventajas tiene?

    • Compatibilidad: mismo paquete en Ubuntu, Fedora, Arch, etc.
    • Aislamiento: cada app corre en un “sandbox”, más segura.
    • Actualizaciones automáticas: se actualizan sin intervención.
    • Fácil de revertir: puedes volver a una versión anterior.

    Dónde vive todo esto

    • Servicio principal: snapd
    • Paquetes instalados: /snap/
    • Configuraciones: /var/snap/

    Comandos útiles:

    snap list # ver apps instaladas
    snap info wekan # detalles del paquete snap remove wekan 
    snap refresh # actualizar todos

    Snap tiene su propio “repositorio oficial” llamado Snap Store, y ahí hay cientos de aplicaciones empaquetadas.

    Visita:
    👉 https://snapcraft.io/store

    Ahí verás todas las aplicaciones disponibles, clasificadas por categorías:

    • Servidor (Nextcloud, Wekan, Mosquitto, etc.)
    • Desarrollo (VS Code, Postman, Node, etc.)
    • Productividad (LibreOffice, Slack, etc.)
    • Multimedia (OBS Studio, Spotify, VLC, etc.)

    Cada ficha tiene los comandos exactos para instalarla en Ubuntu u otras distribuciones compatibles.

    Desde la terminal

    Una vez instalado snapd, puedes explorar el catálogo directamente.

    Buscar una aplicación concreta:

    snap search wekan

    O algo más genérico:

    snap search editor

    snap search server

    snap search database

    Te mostrará una tabla con:

    Name Version Publisher Notes Summary wekan 7.15 x2visio✓ - The open-source Trello-like kanban


    Ver las aplicaciones ya instaladas:

    snap list

    Información detallada de una app:

    snap info wekan

    TAREA

    Inicia una maquina virtual Ubuntu Server  (Puedes crear una nueva o partir de una clonación que tengas con un server «Limpio»).
    Instala en el servidor Wekan utilizando Snap

    sudo apt update && sudo apt -y upgrade
    sudo apt -y install snapd


    Wekan se distribuye como snap y se instala con un único comando. 

    sudo snap install wekan

    Ese comando descarga e instala Wekan (MongoDB viene gestionado por el propio snap). 

    2) Fijar el puerto y la URL raíz


    Elige un puerto libre (ej. 3001) y fija la ROOT_URL con la IP o dominio de tu servidor:


    sudo snap set wekan port='3001'
    sudo snap set wekan root_url="http://<IP-del-servidor>:3001"

    Wekan necesita un puerto y una URL raíz para construir correctamente enlaces y callbacks. 

    3) Reiniciar servicios del snap


    sudo systemctl restart snap.wekan.mongodb
    sudo systemctl restart snap.wekan.wekan


    Wekan usa MongoDB bajo el capó en el snap; al cambiar ajustes conviene reiniciar ambos servicios. 


    4) Abrir el firewall (si usas UFW)

    sudo ufw allow 3001/tcp
    sudo ufw reload

    5) Comprobaciones rápidas

    # Ver estado de los servicios
    systemctl status snap.wekan.wekan --no-pager
    systemctl status snap.wekan.mongodb --no-pager
    # Comprobar que el puerto está escuchando
    ss -tunelp | grep 3001

    6) Primer acceso y creación de usuario


    Entra desde un navegador:

    http://<IP-del-servidor>:3001