Snap es un sistema paquetes desarrollado por Canonical para Ubuntu y que puede ser implementado en sistemas operativos que utilizan el kernel de Linux y el sistema systemd init.
Este sistema de paquetes se presenta como un sistema «universal», el cual Canonical ha impulsado bastante a tal grado de que en las nuevas versiones que se tienen pensadas para Ubuntu ha dejado de lado del soporte de Flatpak y asi apostar el todo por el todo por su sistema de paquetes.
Por otro lado, tambien Canonical ha tomado la decisión de lanzar una versión de Ubuntu completamente en Snap. Esta es una noticia que no fue de agrado de muchos y que ha generado una división de la comunidad, ya que los paquetes Snap no son aceptados del todo.
Ante ello han surgido diversos movimientos con la finalidad de dar un plus para el uso de paquetes Flatpak. Uno de los proyectos que apoyan el formato Flatpak es unsnap, que se desarrolla como una herramienta para convertir sistemas basados en Ubuntu de usar paquetes snap a paquetes flatpak.
La utilidad no solo reemplaza el administrador de paquetes snap con flatpak, sino que también selecciona e instala las contrapartes de flatpak para los paquetes snap ya instalados en el sistema. En el caso ideal, el usuario puede obtener un conjunto de aplicaciones completamente similar, pero instaladas en formato flatpak.
Sobre unsnap
La migración se realiza en varios pasos. En el primer paso, unsnap genera un conjunto de scripts de shell que describen las operaciones de reemplazo. Teniendo en cuenta el estado actual del sistema, se crean secuencias de comandos separadas para realizar copias de seguridad del entorno snap, instalar el administrador de paquetes flatpak, activar repositorios flatpak, instalar análogos de flatpak para paquetes snap que ya están en el sistema, eliminar paquetes snap y el kit de herramientas snapd de el sistema. Antes de ejecutar los scripts generados automáticamente, el usuario puede editarlos a su gusto.
El proyecto está siendo desarrollado por Alan Pope, uno de los desarrolladores del sistema Snap, que dejó Canonical en 2021 tras 10 años en la empresa. El conjunto de herramientas todavía se posiciona como experimental (pre-alfa) y está limitado al soporte de Ubuntu.
De los proyectos relacionados, el autor de unsnap menciona custom-desktop (un conjunto de scripts para convertir la composición de un entorno Ubuntu ya instalado) y deb-get (un análogo de apt-get para trabajar con paquetes deb ubicados en repositorios de terceros o en sitios web).
Además del administrador de paquetes, el proyecto deb-get proporciona metadatos listos para instalar paquetes de terceros que se pueden usar para reemplazar paquetes instantáneos con paquetes deb.
Unsnap puede ejecutar de manera automática un conjunto de scripts son generados:
- 00-backup : se ejecuta snap save para cada complemento instalado que se está migrando
- 01-install-flatpak : si aún no está instalado, instalará el administrador de paquetes flatpak
- 02-enable-flathub : si no está habilitado, agregará la ubicación remota de flathub en flatpak
- 03-install-flatpaks : instala flatpaks equivalentes para cada complemento identificado
- 04-remove-snaps : elimina los complementos para los que se han instalado los flatpaks
- 99-remove-snapd : se elimina snapd solo, lo que eliminará todas los paquetes snap
Se menciona que en el futuro, unsnap planea admitir otras distribuciones compatibles con snap, como Manjaro, Linux Mint, Zorin, Debian, Fedora, Pop_OS!, KDE Neon, Raspbian, CentOS y Elementary OS. Los usuarios también pueden estar interesados en la lista de paquetes analógicos preparados por el proyecto en formatos snap y flatpak.
¿Como instalar unsnap en Ubuntu?
Para los interesados en poder instalar esta herramienta en su sistema, deben saber que la instalación es bastante sencilla y basta con abrir una terminal y en ella van a teclear lo siguiente:
git clone https://github.com/popey/unsnap
cd unsnap
./unsnap
Unsnap funciona como un proceso de dos etapas. Inicialmente, Unsnap genera un conjunto de scripts que son responsables de ejecutar la migración real de los paquetes instantáneos a flatpak. Esta función permite a los usuarios ver y, si es necesario, editar los scripts antes de la ejecución para validarlos o modificarlos según sus necesidades.
Después de generar los scripts, los usuarios pueden ejecutarlos en secuencia para completar el proceso de migración.
O como se mencionó al inicio si prefieren la ejecución de todos los scripts basta con teclear:
./unsnap auto
Finalmente cabe mencionar que como todo proceso de migración se hace la recomendación de hacer un respaldo de la información importante, ya que como tal es eliminar e instalar aplicaciones lo que conlleva tambien el eliminar información.
Si estas interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.