## page was renamed from AmministrazioneSistema/InstallareProgrammi/Snap
## page was renamed from andreas-xavier/Prova
#format wiki
#language it
<
>
<>
<>
= Introduzione =
Dalla versione desktop 16.04 LTS, è stato introdotto il supporto ai pacchetti in formato '''snap''' che sono così andati ad affiancare i tradizionali pacchetti [[AmministrazioneSistema/InstallareProgrammi/PacchettiDebian|deb]].<
>
Sul sito '''snapcraft.io''' è possibile consultare lo [[https://snapcraft.io/store|store]] e la [[https://snapcraft.io/docs|documentazione]] ufficiale.
Rispetto ai sistemi di pacchettizzazione tradizionali gli '''snap''' offrono le seguenti caratteristiche.
* Ogni pacchetto integra in sé le dipendenze necessarie per installare ed eseguire la relativa app.
* Indipendenza di ogni pacchetto in modo tale che la sua installazione, rimozione, upgrade e downgrade riduca al minimo le conseguenze sul sistema.
* Aggiornamento automatico in background dei pacchetti.
* Utilizzo di un sistema di [[https://it.wikipedia.org/wiki/Sandbox|sandboxing]] affinché un eventuale problema con il pacchetto non vada a compromettere la stabilità dell'intero sistema.
* Potenziale semplificazione del lavoro di sviluppatori e manutentori.
* Possibilità di utilizzo dei pacchetti '''snap''' su altre distribuzioni GNU/Linux (per maggiori informazioni consultare la [[https://snapcraft.io/docs/installing-snapd|documentazione]]).
{{{#!wiki important
Un utilizzo intensivo di pacchetti snap può comportare l'utilizzo di molta memoria su disco. Assicurarsi di avere spazio a sufficienza.
}}}
= Abilitare snapd =
'''snapd''' è lo strumento per installare, configurare, ripristinare o rimuovere i pacchetti '''snap''' ed è abilitato in maniera predefinita.<
>
Se fosse stato rimosso, per riabilitarlo è sufficiente [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://snapd|snapd]].
<>
= Utilizzo tramite Ubuntu Software =
È possibile installare e gestire pacchetti '''snap''' da interfaccia grafica attraverso [[AmministrazioneSistema/InstallareProgrammi/UbuntuSoftware|Ubuntu Software]].<
>
Qualora un programma sia disponibile in più formati, è sufficiente fare clic sul programma stesso e verificare che nella descrizione sia presente la dicitura '''Snap Store''' o '''Snapcraft''' in corrispondenza della voce '''Sorgente'''. In caso contrario sarà invece presente una dicitura relativa al [[Repository|repository]] in cui è presente il programma (ad esempio '''ubuntu-focal-universe''').
<>
= Utilizzo tramite Discover =
== Kubuntu e Lubuntu ==
0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] ili pacchetto [[apt://plasma-discover-backend-snap|plasma-discover-backend-snap]] ed eventuali dipendenze.
0. Per abilitare lo '''Store [[https://snapcraft.io/store|snapcraft]]''', nella sezione '''Impostazioni''' di '''Discover'''
* [[AmbienteGrafico/Kde|Kubuntu]]: selezionare la voce '''Discover Motore Snap'''.
* [[AmbienteGrafico/Lxqt|Lubuntu]]: clic sul flag '''Snap'''.
0. Aggiornare la lista dei pacchetti.
0. Riavviare il sistema.
Per installare applicazioni:
0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''Discover'''.
0. Cercare il software desiderato. Selezionando la descrizione del software, se sono disponibili più fonti, si ha la possibilità di selezionare la fonte facendo clic in alto a destra su '''Fonti'''.
= Permessi =
È possibile che un'applicazione installata tramite '''snap''' non abbia in modo predefinito accesso a determinate risorse del sistema. Se necessario attraverso [[#ubu_soft|Ubuntu Software]] è possibile modificare i permessi secondo le proprie esigenze.
0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''Ubuntu Software''' e selezionare l'app desiderata.
0. Fare clic sul pulsante '''Permissions''' (Permessi), posizionato sotto nome e icona dell'app stessa.
Si aprirà una finestra nella quale è possibile modificare le impostazioni di accesso dell'app a file, hardware e svariate risorse di sistema.
<>
= Comandi principali =
Quello che segue è un breve elenco dei principali comandi eseguibili tramite [[AmministrazioneSistema/Terminale|terminale]].<
>
Per la lista completa di comandi e opzioni consultare la [[http://manpages.ubuntu.com/manpages/bionic/en/man1/snap.1.html|pagina man]]. Per ulteriori informazioni consultare la [[https://snapcraft.io/docs|documentazione ufficiale]] del progetto.
||||<:>'''Comandi'''||
||<25%> '''snap changes''' || Visualizza la cronologia delle azioni compiute sui pacchetti. ||
|| '''snap find''' ''nome-pacchetto'' || Cerca uno specifico pacchetto. L'eventuale presenza del simbolo «✓» indica un autore verificato. ||
|| '''snap find''' ''"categoria"'' || Cerca dei programmi in base alla categoria (es: «''"media player"''»). L'eventuale presenza del simbolo «✓» indica un autore verificato. ||
|| '''snap help''' || Mostra l'elenco dei comandi disponibili. ||
|| '''snap info''' ''nome-pacchetto'' || Mostra informazioni dettagliate riguardo ad uno snap. ||
|| '''snap install''' ''nome-pacchetto'' || Installa un nuovo pacchetto. Necessita dei [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]]. ||
|| '''snap connections''' || Elenca le interfacce del sistema e i programmi che le utilizzano. ||
|| '''snap list''' || Visualizza la lista dei pacchetti installati. ||
|| '''snap login''' ''mia@e-ma``il.com'' || Autentica su snap e sullo store tramite account [[InternetRete/Navigazione/UbuntuOne|Ubuntu One]]. Necessita dei [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]]. ||
|| '''snap refresh''' || Verifica la disponibilità di aggiornamenti dei pacchetti, eseguendoli se necessario. Necessita dei [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]]. ||
|| '''snap refresh''' ''nome-pacchetto'' || Aggiorna uno specifico pacchetto. Necessita dei [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]]. ||
|| '''snap remove''' ''nome-pacchetto'' || Rimuove uno specifico pacchetto. Necessita dei [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]]. ||
|| '''snap revert''' ''nome-pacchetto'' || Ripristina un pacchetto ad una versione precedente di revisione e impostazioni. Necessita dei [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]]. ||
|| '''snap save''' || Salva uno snapshot di tutti i pacchetti installati. Necessita dei [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]]. ||
|| '''snap restore''' ''numero-snapshot'' || Ripristina uno snapshot precedentemente salvato. Necessita dei [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]]. ||
|| '''snap disable''' ''nome-pacchetto'' || Disabilita un pacchetto senza bisogno di rimuoverlo. Necessita dei [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]]. ||
|| '''snap enable''' ''nome-pacchetto'' || Riabilita un pacchetto precedentemente disabilitato. Necessita dei [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]]. ||
|| '''snap version''' || Visualizza la versione di '''snap''' e '''snapd'''. ||
|| '''man snap''' || Visualizza il manuale completo di '''snap'''. ||
= Gestire gli aggiornamenti =
Consultare la [[AmministrazioneSistema/InstallareProgrammi/AggiornamentiSnap|guida dedicata]].
= Pulizia snap inutilizzati =
I pacchetti '''snap''' possono occupare tanto spazio poiché di default mantengono almeno una versione precedente dei pacchetti installati, in quanto integrano una funzionalità di ''rollback''. Ad esempio è possibile elencare tutti gli snap presenti con il comando:{{{
snap list --all
}}}
Nel cui output sanno presenti le vecchie versioni, indicate dalla dicitura `disabled`, come nel seguente esempio:{{{
firefox 115.0.1-1 2880 stable mozilla disabled
firefox 115.0-2 2850 stable mozilla -
}}}
Si può dunque procedere con l'individuazione di eventuali vecchie versioni non necessarie (ad esempio se presenti più di due) e/o di eventuali pacchetti non desiderati.
È inoltre possibile applicare uno [[Programmazione/Script| script]] che pulisce tutte vecchie versioni inutilizzate dei pacchetti snap presenti:{{{
#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
LANG=C snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
snap remove "$snapname" --revision="$revision"
done
}}}
{{{#!wiki important
Usare lo script solo per effettive necessità di spazio e solo se sicuri di non aver bisogno delle vecchie versioni dei pacchetti.
}}}
= Ulteriori risorse =
* [[https://developer.ubuntu.com/snapcraft|Snapcraft]]
* [[http://snapcraft.io/docs/| Documentazione ufficiale]]
* [[https://github.com/ubuntu-core/snappy|Github]]
* [[https://tutorials.ubuntu.com/tutorial/basic-snap-usage#0|Tutorial per utilizzo di base]]
* [[https://superuser.com/questions/1310825/how-to-remove-old-version-of-installed-snaps/1330590#1330590|Script pulizia snap]] (a cura di sviluppatore Canonical)
----
CategoryAmministrazione