Il 13/06/20 11:11, Davide Prina ha scritto:
avevo letto qualcosa su snap, il programma che ti permette di
installare delle applicazioni con il proprio ambiente, ma non l'ho mai
usato.
Leggo oggi un articolo su slashdot su mint[¹].
La parte interessante è questa: Ubuntu sta pianificando di sostituire
il pacchetto deb di chromium con un pacchetto vuoto che installa
chromium con snap, leggendo in giro questa pratica la sta pianificando
anche per altri pacchetti.
La cosa negativa di tutto questo è che i pacchetti snap sono
ottimizzati per funzionare su Ubuntu, alle applicazioni sullo store di
snap non possono essere applicate patch o regole di pinning, non si
possono modificare, mettere sotto controllo o bloccarne
l'aggiornamento e non si può neanche cambiare lo store che usa snap.
L'articolo dice: è come usare software commerciale, solo che è
eseguito come root e installa sé stesso senza chiedervi nulla.
L'articolo lo paragona ad una backdoor che collega il vostro computer
allo store di Ubuntu.
Mi sembra che Clem abbia capito male il funzionamento di snap (o che
parta da un'opinione polarizzata a monte).
Intanto, non è chiaro cosa intenda quando dice che i pacchetti snap
funzionano meglio con Ubuntu.
È vero che sono pacchetti auto contenuti il cui contenuto non può essere
modificato una volta installato sul tuo computer - ed è un bene per la
sicurezza, imho. Inoltre le applicazioni sono sandboxed - non possono
fare qualsiasi cosa sul sistema o sulla home dell'utente, a meno che non
siano autorizzate dall'utente, e anche questa è una cosa positiva che
prima non si poteva fare (non in modo così immediato per l'utente
finale, almeno).
Non è vero che non puoi controllare quali pacchetti installa snap -
pacchetto per pacchetto puoi scegliere da quale canale
(beta/testing/stable/...) installare (è anche più facile che facendo
pinning) ed eventualmente puoi bloccare l'aggiornamento dei pacchetti.
Tra l'altro il fatto che siano auto contenuti, con tutte le loro
dipendenze, riduce moltissimo la possibilità di conflitti e problemi di
repository in concorrenza tra di loro, ragioni per cui spesso facevamo
pinning.
Puoi addirittura avere installati sul sistema due versioni diverse dello
stesso pacchetto senza conflitti né problemi di librerie (e non è cosa
da poco).
O addirittura avere due versioni diverse dello stesso servizio
installato via snap e cambiare la porta predefinita di ascolto di uno
dei due senza sapere nulla di come funziona il servizio in questione -
lo fai dal lato di snap.
È vero che c'è un solo repository di pacchetti snap (snapcraft.io), ma
non è necessariamente un male - non ti impedisce di installare versioni
diverse della stessa applicazione. Anzi, se vuoi puoi crearti e
mantenere un pacchetto snap tu stesso e poi metterlo su snapcraft ed
installare quello che hai creato tu, cosa che con i repository
tradizionali non si può fare (ti devi fare e gestire un repo tuo).
Visto che snap c'è anche in Debian: snapd e altri pacchetti; se tutto
questo è vero consiglio a tutti di rimuovere tutti i pacchetti del
gestore di pacchetti snap (notare che c'è un pacchetto con nome snap
che fa tutt'altro)
Mi sembra eccessivo.
Secondo me il problema è applicare ad un sistema di pacchettizzazione
diverso come snap le stesse logiche che abbiamo usato finora per dpkg/apt.
Invece sarebbe meglio leggere la documentazione e cercare di capire
meglio come funziona snap, e parlare di vantaggi/svantaggi con
cognizione di causa (perché di svantaggi ce n'è, ma non credo siano
quelli indicati da lui): https://snapcraft.io/docs
Questa polemica mi ricorda molto quelle con systemd: arriva qualcosa di
nuovo, e prima ancora di conoscerlo alziamo gli scudi condannando la
novità.
Snap non è la panacea a tutti i mali, ma ha delle applicazioni utili.
Usiamolo quando/dove è utile senza pregiudizi.
saluti,
gerlos
PS Parte delle obiezioni di Clem verso snap sono applicabili anche a
Flatpak e Appimage. :-P