Confronto di Snap e Flatpak. Vantaggi e svantaggi

Directory contenente i pacchetti Snap.

I pacchetti Snap vengono installati nel proprio settore del disco isolato dal resto del sistema operativo.

Una delle cose che più confonde i nuovi utenti è il numero di formati di programma disponibili. Ogni famiglia di distribuzioni ha le sue e un pacchetto creato per una di esse non può essere utilizzato in un'altra, anche se supporta lo stesso formato. Per risolvere questo problema, è iniziato il lavoro su un formato universale per applicazioni autonome, questo è che non richiedevano dipendenze del sistema operativo.

In questo modo, il programma può essere installato su qualsiasi distribuzione e può essere aggiornato, anche se il sistema operativo host non lo fa. Parliamo di Snap e Flatpak.

Ovviamente, come spesso accade nel mondo open source, non potevamo essere d'accordo su un formato standard, quindi finora ne abbiamo tre. Personalmente non escludo la comparsa di altri in futuro.

Le basi

Screenshot del software manager di una distribuzione Linux

I gestori di software scaricano, installano e disinstallano i pacchetti dai repository di una distribuzione Linux.

Iniziamo col dire che nel contesto di questo articolo, pacchetto e programma non sono sinonimi. Un formato di pacchetto è un tipo di file che contiene software e metadati aggiuntivi necessari ai gestori di pacchetti per installarlo.. I programmi possono essere sotto forma di codice sorgente o file eseguibili e tra i metadati ci sono indicazioni sulla directory di installazione oltre al nome, numero di versione, licenza e file che fanno parte del programma.

Tutti gli utenti di telefoni cellulari e tablet hanno familiarità con il concetto di app store. È un programma che ci consente di cercare, installare o disinstallare altri programmi sui nostri dispositivi. Gli application store sono una versione rinnovata dei gestori di pacchetti delle distribuzioni Linux.

I gestori di pacchetti cercano i programmi che vogliamo installare nei cosiddetti repository. I repository sono indirizzi Web che reindirizzano a una posizione specifica all'interno di un server da cui è possibile scaricare un programma specifico.. In assenza di una connessione Internet, il supporto di installazione può fungere da repository, ma l'offerta non sarà così ampia o aggiornata.

I repository di solito raggruppano i programmi per origine (aggiunti da sviluppatori di distribuzione, terze parti volontarie o organizzazioni) o per licenza (gratuita o proprietaria).

Proprio come un produttore di qualsiasi prodotto non sviluppa tutti i componenti da zero, gli sviluppatori non fanno lo stesso con il codice. Vengono utilizzate librerie fornite dai creatori del linguaggio di programmazione (ad esempio per l'editing video), framework per comporre l'interfaccia utente e richieste al sistema operativo per attività come la stampa. Durante l'installazione dei formati di pacchetto tradizionali, i gestori controllano se quegli strumenti di terze parti necessari per il funzionamento dell'applicazione scelta sono installati o possono essere ottenuti dai repository. Se la risposta alla seconda domanda è sì, queste dipendenze verranno installate per prime. In caso contrario non sarà possibile continuare con l'attività.

La novità con i due formati che stiamo analizzando è quella non hanno bisogno di dipendenze preinstallate poiché tutto ciò di cui hanno bisogno viene fornito in un unico pacchetto con l'applicazione.

Confronto Snap e Flatpak

Scatto

Se hai letto qualsiasi altro articolo su questo argomento, ti sarai imbattuto in due affermazioni tanto ripetute quanto false:

  1. Flatpak è migliore di Snap perché è stato sviluppato dalla comunità mentre Snap è supportato solo da un'azienda.
  2. Se usi Snap sei costretto ad usare lo store ufficiale, mentre chiunque può gestire un repository Flatpak.

Il vantaggio di leggere Linux Adictos è che noi redattori ricerchiamo ciò che scriviamo invece di copiare/incollare. Flatpak ha impronte di Red Hat dappertutto. Vedremo il coinvolgimento dell'azienda nella sezione specifica di Flatpak.

Per quanto riguarda la seconda affermazione, è falsa perché qualsiasi server Web che esegue una distribuzione Linux può essere un negozio Snaps. per prova questo tutorial 2016 anno.

Snap è un sistema di confezionamento e distribuzione multipiattaforma sviluppato da Canonical, i creatori di Ubuntu, per la piattaforma Linux. È compatibile con la maggior parte delle principali distribuzioni.

Cattura lo screenshot del negozio

Nello Snap store possiamo scegliere tra diverse versioni della stessa applicazione.

Si compone di tre componenti:

  • Affrettato: Questi sono i pacchetti che Snap crea e distribuisce. Si tratta di file compressi in formato >SquashFS e archiviati con estensione .snap. Ciascun file contiene il modulo del pacchetto completo, inclusa l'applicazione, le librerie dipendenti e i metadati richiesti.
  • scattò: È lo strumento che in background crea la sandbox in cui vengono eseguiti gli snap.
  • negozio a scatto: È lo strumento che consente agli sviluppatori di pubblicare e agli utenti di scaricare gli snap. In alcune distribuzioni Linux, il tradizionale gestore di pacchetti funge da interfaccia grafica per la navigazione e il download. L'app store è suddiviso in canali che consentono di scegliere la versione dell'app e la frequenza degli aggiornamenti.
  • Snapcraft: È lo strumento che permette la creazione di snap.

Vantaggi e svantaggi

Dal punto di vista dello sviluppatore, Snap offre il vantaggio di poter distribuire direttamente il tuo software senza doverlo adattare alle particolarità di ogni distribuzione Linux o attendi che gli sviluppatori lo includano nei repository.

L'utente ha il vantaggio di un accesso più rapido alle versioni versioni più aggiornate dei tuoi programmi preferiti senza attendere aggiornamenti per ciascuna distribuzione o riscontrare problemi di compatibilità.

i pacchetti snap hanno un sistema completo di permessi quindi è possibile configurarli per interagire tra lorocon il sistema operativo e le applicazioni installate come di consueto.

Il forte di Snap sono le app proprietarie o quelle che includono funzionalità a pagamento. Esistono anche giochi e programmi per Windows che funzionano grazie a Wine, il livello di compatibilità che funge da ponte tra loro e il kernel Linux.

Nella sezione degli svantaggi c'è il tempo di avvio. Sebbene ridotte rispetto alle prime versioni, le applicazioni in formato snap impiegano molto più tempo per avviarsi rispetto a quelle installate normalmente. Inoltre, includendo tutte le dipendenze necessarie, la dimensione che occupa è maggiore.

Snap può essere utilizzato per applicazioni desktop, server e Internet of Things.

Flatpak

Logo delle distribuzioni Linux che supportano il formato Platpak

A differenza di quanto accade con i formati di pacchetto tradizionali. Un pacchetto Flatpak può essere installato senza modifiche su varie distribuzioni Linux.

Il nome Flatpak si riferisce all'imballaggio piatto dei mobili IKEA. Alexander Larsson, che ha sviluppato il progetto dopo aver lavorato in Red Hat sulla tecnologia dei container, è svedese, quindi il nome non si riferisce solo alla nazionalità del suo creatore ma a la volontà che questo "packaging" di applicazioni Linux sia rivoluzionario come quello di IKEA per i mobili.

Il nome originale era xdg-app. Per quanto fragili possano sembrare le ragioni del nuovo nome, siamo d'accordo che è molto meglio.

Per quanto riguarda il rapporto con Red Hat, nelle stesse FAQ si preoccupano di chiarire che la tecnologia non si limita a Fedora (distribuzione comunitaria supportata da Red Hat) né a GNOME, indicando in quest'ultimo caso che molti sviluppatori GNOME hanno partecipato allo sviluppo di Flatpak. Indovina per chi lavorano molti sviluppatori GNOME?

Certo, non ho nulla contro Red Hat, hanno ottime tecnologie alcune delle quali uso, incluso Flatpak. Lo indico semplicemente questo formato di pacchetto non è così indipendente come alcuni vogliono credere.

Ma cos'è Flatpack?

Flatpak è un sistema per creare, distribuire ed eseguire applicazioni desktop per distribuzioni Linux en una sandbox di sistema Linux

Concetti chiave

  • Applicazione flatpack: queste sono le applicazioni che l'utente installa tramite il comando flatpak o tramite un'interfaccia utente diversa come i gestori di pacchetti delle distribuzioni Linux.
  • Esecuzione: Piattaforma integrata per fornire le utilità di base necessarie per eseguire un'applicazione Flatpak.
  • BaseApp: Piattaforme integrate per framework di creazione di applicazioni.
  • Pacco piatto: Il formato in cui viene esportata l'applicazione e le sue utilità di base necessarie.

Vantaggi e svantaggi

Flatpak condivide alcuni dei vantaggi di Snap, come il poter essere installato indipendentemente dalla distribuzione, includere tutte le dipendenze necessarie per il suo funzionamento e funziona indipendentemente dal sistema operativo, quindi non è legato ai suoi bug e ai cicli di aggiornamento.

Due vantaggi distintivi è quelloe non richiede privilegi di amministratore per l'installazione e quello che chiamano "aggiornamento Delta" in cui vengono aggiornate solo le mod. Ciò si traduce in una maggiore velocità.

Chiunque può gestire il tuo servizio di download Flatpak; finora il più completo per gli utenti finali è Flathub. Anche la distribuzione Linux Fedora ha la propria in cui fondamentalmente convertono i pacchetti di distribuzione classici nel nuovo formato. Il desktop GNOME proviamo le versioni più attuali delle tue applicazioni scaricandole dalla tua e dalla stessa fa KDE.

Per quanto riguarda l'integrazione con il desktop, il formato promette l'integrazione nativa per i principali desktop Linux in modo che gli utenti possano navigare, installare, eseguire e utilizzare facilmente le applicazioni Flatpak attraverso l'ambiente desktop e gli strumenti esistenti. Vale la pena ricordare che Ubuntu Software Center non supporta l'installazione di pacchetti in questo formato.

Flatpak fa un uso migliore dello spazio su disco da allora consente la condivisione di librerie tra applicazioni dello stesso formato. Il punto di forza del formato Flatpak è l'assortimento di applicazioni open source sviluppate dalla community che possiamo testare nella loro ultima versione molto prima che entrino nei repository.

Dal punto di vista degli sviluppatori, il framework per lo sviluppo di applicazioni Gnome Builder permette di creare i FlatPak in maniera grafica Oltre ad avere una serie di runtime predefiniti, fa risparmiare tempo nella creazione delle applicazioni.

Tra gli svantaggi (oltre ad occupare più spazio su disco rispetto alle applicazioni tradizionali) c'è che spossono essere utilizzati solo sul desktop e che, a differenza degli Snap, i privilegi non possono essere modificati per interagire con il resto del sistema operativo al momento dell'installazione. Se può essere fatto dallo sviluppatore al momento della creazione del pacchetto e dagli utenti in seguito utilizzando a applicazione di terzi.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   X-ELE suddetto

    e com'è AppImage in questo gioco?

    1.    Diego German Gonzalez suddetto

      Il problema con Appimage è che non ha uno strumento ufficiale per installare/disinstallare e aggiornare. Probabilmente rimane un'opzione marginale.

      1.    dimixisDEMZ suddetto

        Appimaged potrebbe aiutarti.

    2.    Ruben Ramos suddetto

      Da quel poco che ho visto, flatpack è molto più completo in termini di applicazioni rispetto ad App Image

  2.   Daniel suddetto

    Esiste uno strumento grafico, chiamato "Flatseal", per visualizzare e modificare i permessi delle applicazioni Flatpak installate.

    1.    Diego German Gonzalez suddetto

      Grazie per la segnalazione

  3.   dimixisDEMZ suddetto

    Sembra che qui non utilizzino Flatseal per gestire i permessi di Flatpak.

    1.    Diego German Gonzalez suddetto

      Flatseal è un'applicazione di terze parti. Non compare nella documentazione ufficiale. Grazie

      1.    dimixisDEMZ suddetto

        ?, è giusto.

  4.   Khourt suddetto

    Mi piace di più AppImage perché devi solo scaricare un file e funziona, penso che sia più portatile e facile da usare.

    Il brutto è che secondo me, questa assenza di un'organizzazione dietro AppImage, le applicazioni vengono spesso dimenticate e non so come stia andando lo sviluppo di AppImage, poiché manca l'integrazione con il desktop. Oltre al fatto che AppImage non ha un repository ufficiale ampio come gli altri 2. E come validare la sicurezza dei file AppImage (bisogna essere sicuri dell'origine)

    Penso anche che sia difficile trovare una nuova alternativa tra così tante opzioni sconosciute (proprio come su Snap e Flatpak).

    Tutto questo mi ricorda quel meme che suona più o meno così:
    "Linux ha troppi tipi di pacchetti: DEB, RPM, TAR (eseguibili distribuiti come compressi), file SH e RUN, e non ricordo Solusos e Gento, più il sistema di pacchetti Arch...
    Dobbiamo creare un tipo di file nuovo, moderno e innovativo che funzioni su qualsiasi distribuzione (universale), che elimini il problema delle dipendenze e unifichi l'intero sforzo di sviluppo... »

    Boom!!
    Il risultato: abbiamo 3 opzioni (finché qualcun altro non crederà a qualcos'altro)

    1.    Diego German Gonzalez suddetto

      La cosa divertente è che ci sono diverse versioni di quel meme.