Snap e Apt sono due gestori di pacchetti. Apt è il predefinito per Debian, al contrario di dpkg risolve le dipendenze, in passato si usava il comando apt-get mentre ora si usa apt (e di recente è stato introdotto, come sperimentazione, apt-fast).
Snap è nato per Ubuntu, quindi sempre Debian-based, poi si è diffuso anche questo a varie distribuzioni.
Vediamo le differenze fra Apt e Snap. Snap contiene tutte le dipendenze in un singolo pacchetto e i software sono eccessibili tramite lo Snap Store, dove gli sviluppatori caricano i pacchetti. Apt invece preleva i pacchetti dalle repository ufficiali di quella distribuzione; la gestione delle dipendenze è svolta in modo intelligente, ovvero Apt riconosce le dipendenze che mancano per installare un pacchetto e procede nel modo corretto in autonomia. Snap (formato .snap) consente di avere aggiornamenti automatici e installare più versioni dello stesso sofware; con Apt (formato .deb) invece non è possibile avere installazioni multiple e gli aggiornamenti sono manuali. Per la questione delle dipendenze, i pacchetti Snap sono in genere più pesanti, essendo di tipo all-in-one mentre Apt va a recuperare eventualmente extra ciò di cui ha bisogno per l'installazione. Per la velocità, in genere non c'è molta differenza: al primo avvio Snap è più lento, poi dal secondo avvio in poi, non si notano differenze. Snap è pensato maggiormente per la portabilità, universalità, mentre Apt è pensato nel modo specifico per quella distribuzione e versione, quindi in genere si integra meglio. Come sicurezza, un pacchetto Snap viene creato e diffuso da un qualunque sviluppatore, l'utente si deve fidare; con Apt invece la fonte è la repository ufficiale della distribuzione (salvo poi scaricare a parte un file .deb o repository di terze parti).
In conclusione:
- scegliere Snap per avere sempre la versione più aggiornata e se non è necessaria una perfetta integrazione con la tua distribuzione e versione
- scegliere Apt per avere un pacchetto pensato e studiato per quella distribuzione/versione specifica; anche per una questione di spazio in memoria, mentre ogni pacchetto Snap è completo, le dipendenze esterne Apt sono condivise, quindi due pacchetti che usano la stessa dipendenza, risparmiano spazio in memoria
Queste sono le differenze principali. Con quale dei due metodi vi trovate meglio? Io sto dalla parte di Apt :)