Ricerca nel sito web

I 3 migliori gestori di pacchetti universali per Linux nel 2023


La gestione dei pacchetti o l'installazione di software su sistemi Linux può essere molto sconcertante soprattutto per i principianti (nuovi utenti Linux), poiché diverse distribuzioni Linux utilizzano sistemi di gestione dei pacchetti tradizionali diversi. La parte più confusa nella maggior parte dei casi è la risoluzione/gestione delle dipendenze dei pacchetti.

Ad esempio, le distribuzioni basate su Debian come Ubuntu e Linux Mint utilizzano pacchetti .deb, che sono gestiti tramite il sistema di gestione dei pacchetti dpkg.

D'altra parte, le distribuzioni basate su RHEL come CentOS Stream, Rocky Linux e AlmaLinux utilizzano .rpm pacchetti, che vengono gestiti utilizzando il sistema di gestione dei pacchetti rpm.

Negli ultimi anni, la gestione e la distribuzione dei pacchetti nell'ecosistema Linux non sono più state le stesse dopo l'avvento di strumenti di gestione dei pacchetti universali o a distribuzione incrociata.

Questi strumenti consentono agli sviluppatori di creare pacchetti di software o applicazioni per più distribuzioni Linux, da un'unica build, rendendo semplice per gli utenti installare lo stesso pacchetto su più distribuzioni supportate.

In questo articolo esamineremo i 3 principali sistemi di gestione dei pacchetti open source universali o a distribuzione incrociata per Linux.

1. Snap: un formato di pacchetto universale

Snap è un popolare formato di applicazione/pacchetto open source e un sistema di gestione dei pacchetti sviluppato da Canonical, il produttore di Ubuntu Linux. Diverse distribuzioni Linux ora supportano gli snap tra cui Ubuntu, Debian, Fedora, Arch Linux, Manjaro e CentOS/RHEL.

Installazione e aggiornamenti facili

Un'applicazione snap è un'applicazione a distribuzione incrociata in bundle con tutte le sue dipendenze (priva di dipendenze) per una facile installazione con aggiornamenti automatici (le applicazioni sono sempre aggiornate) su qualsiasi distribuzione Linux che supporti gli snap. Uno snap può essere eseguito su un desktop, un server, nel cloud o nell'IoT (Internet of Things).

Per creare o eseguire lo snap di un'applicazione, utilizzi Snapcraft, un framework e un potente strumento da riga di comando per la creazione di snap. Per installare e utilizzare gli snap in Linux è necessario installare snapd (o il demone snappy), un servizio in background che consente ai sistemi Linux di funzionare con file .snap. L'effettiva installazione degli snap viene eseguita utilizzando lo strumento da riga di comando snap.

Sicurezza e isolamento

Poiché vengono eseguiti in condizioni di confinamento (livelli di confinamento diversi e configurabili), gli snap sono sicuri per impostazione predefinita. È importante sottolineare che uno snap che deve accedere a una risorsa di sistema al di fuori dei suoi confini utilizza una "interfaccia" che viene attentamente selezionata dal creatore dello snap, in base ai requisiti dello snap. Ciò consente di eseguire applicazioni senza compromettere la stabilità e la flessibilità del sistema operativo di base.

Inoltre, il sistema di gestione dei pacchetti snap utilizza un concetto chiamato canali (che consiste ed è suddiviso in tracce, livelli di rischio e rami) per determinare quale versione di uno snap viene installata e monitorata per gli aggiornamenti. Gli snap si aggiornano anche automaticamente, un processo che puoi gestire manualmente.

Per trovare e installare uno snap, cercalo nello snap store (un luogo in cui gli sviluppatori possono condividere i propri snap) o leggi ulteriori informazioni utilizzando le nostre guide:

2. Flatpak – Compatibilità tra distribuzioni incrociate

Flatpak è un noto framework open source per la distribuzione di applicazioni desktop su distribuzioni Linux. Sviluppato da una comunità indipendente, Flatpak consente di installare ed eseguire una singola applicazione su praticamente qualsiasi distribuzione Linux.

Supporta un totale di 25 distribuzioni tra cui Fedora, Ubuntu, RHEL, CentOS, OpenSUSE e Arch Linux e funziona anche su Raspberry Pi.

I runtime di Flatpak forniscono piattaforme di librerie comuni che un'applicazione può sfruttare. Tuttavia, ti rende anche estremamente semplice avere il pieno controllo sulle dipendenze, puoi raggruppare le tue librerie come parte della tua applicazione.

Flatpak viene fornito con strumenti di creazione facili da usare e offre un ambiente coerente (uguale per tutti i dispositivi e simile a quello già disponibile per gli utenti) in cui gli sviluppatori possono creare e testare le proprie applicazioni.

Sandboxing per una maggiore sicurezza

Flatpak rende le cose sicure inserendo ciascuna app nella sua sandbox, in questo modo le app non possono interferire con il sistema principale o altre app. È molto utile quando hai a che fare con app provenienti da fonti di cui non sei sicuro.

Facile da usare e da sviluppare

Un aspetto utile di flatpak è la compatibilità futura in cui lo stesso flatpak può essere eseguito su versioni diverse della stessa distribuzione, comprese le versioni ancora da rilasciare da parte degli sviluppatori. Inoltre si sforza e continua ad essere compatibile con le nuove versioni delle distribuzioni Linux.

Se sei uno sviluppatore, puoi rendere disponibile la tua applicazione agli utenti Linux tramite Flathub, un servizio centralizzato per la distribuzione delle applicazioni su tutte le distribuzioni.

3. AppImage: l'alternativa portatile

AppImage è anche un formato di pacchetto open source che consente agli sviluppatori di creare un pacchetto di un'applicazione una volta, che funziona su tutte le principali distribuzioni desktop Linux. A differenza dei formati di pacchetto precedenti, con AppImage non è necessario installare un pacchetto. Basta scaricare l'applicazione che intendi utilizzare, renderla eseguibile ed eseguirla: è semplicissimo. Supporta la maggior parte dei desktop Linux a 32 e 64 bit.

Nessuna installazione necessaria

Con AppImage non è necessario installare nulla. Puoi inserire questi pacchetti su un'unità USB, condividerli ed eseguire app senza modificare il sistema. Questo è ottimo per Linux portatile e sistemi live.

Ampia compatibilità

AppImage offre molti vantaggi. Per gli sviluppatori, consente loro di raggiungere il maggior numero di utenti possibile, indipendentemente dalla distribuzione Linux e dalla versione in esecuzione. Gli utenti non devono preoccuparsi delle dipendenze delle applicazioni poiché ogni AppImage è fornita in bundle con tutte le sue dipendenze (un'app=un file). Anche provare nuove versioni delle applicazioni è facile con AppImage.

Gli amministratori di sistema che supportano un gran numero di sistemi desktop e normalmente impediscono agli utenti di installare applicazioni che potrebbero potenzialmente danneggiare i sistemi, non devono più preoccuparsi. Con AppImage, il sistema rimane intatto poiché gli utenti non devono installare app per eseguirle.

Confronto tra i tre: Snap, Flatpak e AppImage

Ecco un confronto tra i tre gestori di pacchetti universali:

Feature Snap Flatpak AppImage
Package format Self-contained, compressed file Self-contained, compressed file Single executable file
Sandboxing Yes (by default) No (by default) No
Automatic updates Yes Optional No
Installation Requires snapd daemon Requires Flatpak runtime Does not require installation
Root privileges Requires root privileges to install Does not require root privileges to install Does not require root privileges to run

Quale gestore di pacchetti dovrei scegliere?

Se stai cercando un gestore di pacchetti sicuro e facile da usare con aggiornamenti automatici, allora Snap è una buona scelta. Se stai cercando un gestore di pacchetti più flessibile che possa essere utilizzato per creare pacchetti di qualsiasi tipo di applicazione, allora Flatpak è una buona scelta. Se stai cercando un gestore di pacchetti che non richieda installazione o privilegi di root, allora AppImage è una buona scelta.

È anche importante notare che tutti e tre i gestori di pacchetti sono ancora in fase di sviluppo, quindi potrebbero esserci alcuni bug o funzionalità mancanti. Tuttavia, sono tutti attivamente mantenuti e aggiornati regolarmente.

Conclusione

I formati di pacchetto universali o a distribuzione incrociata sono le tecnologie di prossima generazione per la creazione e la distribuzione di software nell'ecosistema Linux. Tuttavia, i tradizionali sistemi di gestione dei pacchetti continuano a resistere.

Qual è il tuo pensiero? Condividilo con noi tramite la sezione commenti.