Comparant Snap i Flatpak. Avantatges i desavantatges

Directori contenint paquets Snap.

Els paquets Snap s'instal·len al seu propi sector del disc aïllats de la resta del sistema operatiu.

Una de les coses que més confonen els nous usuaris és la quantitat de formats de programes disponibles. Cada família de distribucions té el seu propi i un paquet creat per a una no pot ser utilitzat en una altra, encara que admeti el mateix format. Per solucionar això es va començar a treballar en un format universal d'aplicacions autocontingudes, això és que no requerissin dependències del sistema operatiu.

D'aquesta manera s'aconsegueix que el programa es pugui instal·lar a qualsevol distribució i que es pugui actualitzar, encara que el sistema operatiu amfitrió no ho faci. Parlem de Snap i Flatpak.

Per descomptat, com sol passar en el món del codi obert, no ens podíem posar d'acord en un format estàndard pel que fins ara en tenim tres. Personalment no descarto l'aparició d'algun més en el futur.

Els conceptes bàsics

Captura de pantalla del gestor de programari d'una distribució Linux

Els gestors de programari descarreguen, instal·len i desinstal·len paquets dels dipòsits d'una distribució Linux.

Comencem dient que en el context d'aquest article, el paquet i el programa no són sinònims. Un format de paquet és un tipus de fitxer que conté programes informàtics i metadades addicionals necessaris perquè els gestors de paquets puguin instal·lar-los. Els programes poden estar sota la forma de codi font o fitxers executables i entre les metadades hi ha indicacions sobre el directori d'instal·lació a més del nom, número de versió, llicència i els fitxers que formen part del programa.

Tots els usuaris de telèfons mòbils i tauletes estem familiaritzats amb el concepte de botiga d'aplicacions. Es tracta d'un programa que ens permet cercar, instal·lar o desinstal·lar altres programes als nostres dispositius. Les botigues d'aplicacions són una versió renovada dels gestors de paquets de distribucions Linux.

Els gestors de paquets busquen els programes que volem instal·lar als anomenats repositoris. Els repositoris són adreces web que redirigeixen a una ubicació específica dins un servidor des de la qual es pot descarregar un programa determinat. Davant de la manca de connexió a Internet, el mitjà d'instal·lació pot actuar com a dipòsit, però l'oferta no serà tan àmplia ni actualitzada.

Els repositoris solen agrupar els programes pel seu origen (agregats pels desenvolupadors de la distribució, per tercers voluntaris o per organitzacions) o per la llicència (lliure o privativa).

Així com un fabricant de qualsevol producte no desenvolupa tots els components des de zero, els desenvolupadors no fan el mateix amb el codi. S'utilitzen biblioteques proveïdes pels creadors del llenguatge de programació (per exemple, per a l'edició de vídeo), frameworks per compondre la interfície d'usuari i sol·licituds al sistema operatius per a tasques com la impressió. Quan instal·len els formats de paquet tradicionals, els gestors revisen si aquestes eines de tercers necessàries per al funcionament de l'aplicació escollida estan instal·lades o si es poden aconseguir des dels dipòsits. Si la resposta a la segona pregunta és afirmativa, aquestes dependències s'instal·laran primer. En cas contrari, no serà possible continuar amb la tasca.

La novetat amb els dos formats que estem analitzant és que no necessiten cap dependència instal·lada prèviament ja que tot el que necessiten ve en un mateix paquet amb l'aplicació.

Comparant Snap i Flatpak

espetec

Si vas llegir algun altre article sobre aquest tema t'hauràs trobat amb dues afirmacions tan repetides com falses:

  1. Flatpak és millor que Snap perquè ho va desenvolupar la comunitat mentre que Snap només és recolzat per una empresa.
  2. Si fas servir Snap estàs obligat a utilitzar la botiga oficial, mentre que qualsevol pot gestionar un repositori de Flatpak.

L'avantatge de llegir Linux Adictos és que els redactors investiguem sobre el que escrivim en lloc de fer copy/paste. Flatpak té les petjades de Red Hat per tot arreu. Veurem la implicació de l'empresa a l'apartat específic de Flatpak.

Pel que fa a la segona afirmació, és falsa perquè qualsevol servidor web corrent una distro Linux pot ser una botiga de Snaps. Per prova aquest tutorial de l'any 2016.

Snap és un sistema d'empaquetatge i distribució multiplataforma desenvolupat per Canonical, els creadors d'Ubuntu, per a la plataforma Linux. És compatible amb la majoria de les principals distribucions.

Captura de pantalla de la botiga de Snap

A la botiga de Snap podem triar entre diverses versions d'una mateixa aplicació.

Consta de tres components:

  • Snaps: Són els paquets que crea i distribueix Snap. Es tracta de fitxers comprimits en format SquashFS i emmagatzemats sota l'extensió .snap. Cada fitxer conté el mòdul del paquet complet, incloent-hi l'aplicació, les biblioteques dependents i les metadades requerides.
  • Snapd: És l'eina que en segon pla crea l'espai aïllat on s'executen els snaps.
  • Botiga de Snap: És l'eina que permet als desenvolupadors publicar i als usuaris descarregar els snaps. En algunes distribucions Linux, el gestor de paquets tradicional actua com a interfície gràfica per a la cerca i descàrrega. La botiga d'aplicacions es divideix en canals que permeten triar versió de l'aplicació i la freqüència de les actualitzacions.
  • Snapcraft: És la ferramenta que permet la creació dels snaps.

Avantatges i desavantatges

Des del punt de vista del desenvolupador, Snap ofereix l'avantatge de poder distribuir directament el programari sense haver d'adaptar-lo a les particularitats de cada distribució Linux ni esperar que els desenvolupadors la incloguin als repositoris.

L'usuari té l'avantatge d'accedir més ràpid a les versions més actuals dels seus programes preferits sense esperar les actualitzacions de cada distribució ni patir problemes de compatibilitat.

Els paquets snap tenen un complet sistema de permisos per la qual cosa és possible configurar-los perquè interactuïnon el sistema operatiu i les aplicacions instal·lades pel mode habitual.

El fort de Snap són les aplicacions privatives, o aquelles que inclouen funcions de pagament. També hi ha jocs i programes per a Windows que funcionen gràcies a Wine, la capa de compatibilitat que fa de pont entre elles i el nucli Linux.

A l'apartat de desavantatges hi ha el temps d'arrencada. Encara que es va reduir des de les primeres versions, les aplicacions en format snap triguen força més a iniciar que les instal·lades normalment. A més, en incloure totes les dependències necessàries, la mida que ocupa és més gran.

Snap es pot utilitzar per a aplicacions descriptori, servidors i Internet de les Coses.

Flatpak

Logo de distribucions Linux que suporten el format Platpak

A diferència del que passa amb els formats de paquets tradicionals. Un paquet Flatpak es pot instal·lar sense modificacions en diverses distribucions Linux.

El nom de Flatpak remet als embalatges plans dels mobles de IKEA. Alexander Larsson, qui va desenvolupar el projecte després d'haver treballat a Red Hat en tecnologia de contenidors, és suec pel que el nom no només remet a la nacionalitat del seu creador sinó a la voluntat que aquest «embalatge» d'aplicacions Linux sigui tan revolucionari com ho va ser IKEA per als mobles.

El nom original era xdg-app. Per molt feble que sonin les raons per al nou nom convinguem que és molt millor.

Pel que fa a la relació amb Red Hat, a les mateixes preguntes freqüents s'ocupen d'aclarir que la tecnologia no està limitada a Fedora (distribució comunitària recolzada per Red Hat) ni a GNOME, indicant en aquest darrer cas que molts desenvolupadors de GNOME van participar en el desenvolupament de Flatpak. Endevineu per a qui treballen molts desenvolupadors del GNOME?

Aclareixo, no tinc res contra Red Hat, té tecnologies fantàstiques algunes de les quals ús, incloent Flatpak. Simplement indico que aquest format de paquets no és tan independent com alguns volen creure.

Però què és Flatpak?

Flatpak és un sistema per crear, distribuir i executar aplicacions d'escriptori per a distribucions Linux in un espai aïllat del sistema Linux

conceptes clau

  • Aplicació Flatpak: aquestes són les aplicacions que l'usuari instal·la mitjançant l'ordre flatpak o mitjançant una interfície d'usuari diferent com els gestors de paquets de les distribucions Linux.
  • Temps d'execució: Plataforma integrada per proporcionar les utilitats bàsiques necessàries perquè funcioni una aplicació Flatpak.
  • BaseApp: Plataformes integrades per a frameworks de construcció d'aplicacions.
  • Paquet Flatpak: El format en què s'exporta l'aplicació i les utilitats bàsiques necessàries.

Avantatges i desavantatges

Flatpak comparteix alguns dels avantatges de Snap, com per exemple el de poder instal·lar-se independentment de la distribució, incloure totes les dependències necessàries per al seu funcionament i treballar de manera independent del sistema operatiu pel que no està lligada als errors i cicles d'actualitzacions.

Dos avantatges distintius és quei no requereix privilegis d'administrador per instal·lar-los i el que ells anomenen «actualització Delta» en què només s'actualitzen les modificacions. Això redunda a una major velocitat.

Qualsevol pot gestionar el servei de descàrrega de Flatpak; fins ara el més complet per a usuaris finals és Flathub. La distribució Linux Fedora també té el seu en què bàsicament transformen els paquets clàssics de la distribució al nou format. L'escriptori GNOME permet provar les versions més actuals de les seves aplicacions descarregant-les des del vostre i el mateix fa el KDE.

Pel que fa a la integració amb l'escriptori, el format promet integració nativa per als principals escriptoris de Linux perquè els usuaris puguin navegar, instal·lar, executar i utilitzar fàcilment les aplicacions de Flatpak a través del seu entorn descriptori i eines existents. Cal esmentar que el Centre de Programari d'Ubuntu no admet la instal·lació de paquets en aquest format.

Flatpak aprofita millor l'espai del disc ja que permet compartir biblioteques entre aplicacions del mateix format. El fort del format Flatpak és l'assortiment d'aplicacions de codi obert desenvolupades per la comunitat que podem provar en la darrera versió molt abans que ingressin als repositoris

Des del punt de vista dels desenvolupadors, el framework per al desenvolupament d'aplicacions Gnome Builder permet crear els FlatPak en forma gràfica a més de disposar d'una sèrie de runtimes ja predefinits estalviant temps en la creació d'aplicacions.

Entre els desavantatges (A més d'ocupar més espai en disc que les aplicacions tradicionals) hi haol poden usar-se a lescriptori i que a diferència dels Snap no poden modificar-se els privilegis perquè interactuïn amb la resta del sistema operatiu al moment de la instal·lació. Si podeu fer-ho el desenvolupador al moment de crear el paquet i, els usuaris amb posterioritat usant una aplicació de tercers.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   X-ELE va dir

    i com queda AppImage en aquest joc?

    1.    Diego Germán González va dir

      El tema amb Appimage és que no té una eina oficial per instal·lar/desinstal·lar i actualitzar. Probablement quedi com una opció marginal.

      1.    DinimixisDEMZ va dir

        Appimaged et podria ajudar.

    2.    Rubén Ramos va dir

      Per poc que he pogut veure, flatpack és molt més complet quant a aplicacions respecte a App Image

  2.   Daniel va dir

    Hi ha una eina gràfica, anomenada «Flatseal», per veure i modificar els permisos de les aplicacions Flatpak instal·lades.

    1.    Diego Germán González va dir

      Gràcies per la dada

  3.   DinimixisDEMZ va dir

    Sembla que aquí no usen Flatseal per gestionar els permisos de Flatpak.

    1.    Diego Germán González va dir

      Flatseal és una aplicació de tercers. No figura a la documentació oficial. Gràcies

      1.    DinimixisDEMZ va dir

        ?, és correcte.

  4.   KhouRt va dir

    A mi m'agrada més AppImage pel fet que només cal baixar un arxiu i sexecuta, considero és més portable i senzill dusar.

    El pitjor és que a mi semblar, aquesta absència d'una organització darrere d'AppImage, les aplicacions es queden oblidades moltes vegades i desconec com va el desenvolupament d'AppImage que falta integració amb l'escriptori. A més que AppImage no té un repositori oficial tan ampli com els altres 2. I com validar la seguretat dels arxius AppImage (cal estar segurs de l'origen)

    També crec que és difícil trobar una nova alternativa entre tantes opcions desconegudes (igual que a Snap i Flatpak).

    Tot això em recorda al meme aquell que diu una cosa així:
    «Linux té massa tipus de paquets: DEBs, RPMs, TAR (executables distribuïts com a comprimits), arxius SH i RUN, i no recordo el de Solusos i Gento, a més del sistema de paquets d'Arch…
    Cal crear un nou tipus d'arxiu, modern, innovador, que s'executi a qualsevol distribució (universal), que acabi amb el problema de dependències i unifiqui tot l'esforç de desenvolupament… »

    Pum !!
    El resultat: tenim 3 opcions (Fins que algú més creu alguna cosa més)

    1.    Diego Germán González va dir

      El més graciós és que hi ha diverses versions d'aquest meme.