Snap è il nuovo sistema di pacchettizzazione usato da ubuntu e altre distrubzioni. In realtà è un meta-sistema ossia non è specifico di una distribuzione, inoltre rispetto ad altri sistemi come apt ha alcune feature di sicurezza e i binari di ogni pacchetto sono accompagnati dalle proprie librerie. Questo ovviamente significa anche che i binari contenuti negli snap sono più pesanti e più lenti nel caricamento. Più pesanti significa che occupano più spazio disco.
Vediamo i comando principali.
Cercare pacchetti: find
Con il comando find è possibile trovare pacchetti correlati con la parola chiave passato come argomento.
$ snap find firefox
Name Version Publisher Notes Summary
firefox 84.0.1-1 mozilla✓ - Mozilla Firefox web browser
keepassxc 2.6.2 keepassxreboot - Modern, secure, and cross-platform password manager compatible with KeePass
red-app 5.0 keshavnrj - Best Youtube Experience you will be ever served on Desktop !
dashkiosk v2.7.3 ogra - Drive a set of screens displaying dashboards
orange-app 5.0 keshavnrj - SoundCloud Player / Downloader for Linux Desktop
joplin-arnatious 1.0.224 arnatious - Joplin is a free, open source note taking and to-do application.
downloadaccelerator 1.0 messey-bilal - A free tool to download files.
tncc-script 0+git.4192108 guilhem - wrapper for openconnect and pulse
firefox-kiosk 0.1 scout208 - firefox example kiosk
Ottenere informazioni sui pacchetti: info
Il comando info serve ad ottenere informazioni sui pacchetti, come per esempio il nome del programmatore, la pagina web, la descrizioni e i canali. I quali sostanzialmente sono le versioni del pacchetto.
$ snap info cherrytree
name: cherrytree
summary: Hierarchical note taking application
publisher: Heather Ellsworth (hellsworth)
store-url: https://snapcraft.io/cherrytree
contact: heather.ellsworth@canonical.com
license: GPL-3.0+
description: |
A hierarchical note taking application, featuring rich text and syntax highlighting, storing data
in a single XML or SQLite file. The project home page is giuspen.com/cherrytree.
snap-id: ne8DjJO8ts6inYLWUlDs3jLlrITuHrJV
channels:
latest/stable: 0.39.4 2020-07-09 (28) 72MB -
latest/candidate: ↑
latest/beta: ↑
latest/edge: 0.99.24 2020-12-17 (36) 71MB -
Installare un pacchetto: install
Il comando install come immaginerete serve ad installare i pacchetti.
$ sudo snap install tpad
[sudo] password for user:
tpad 2.1 from Zhen Cao (caozhen) installed
Disinstallare un pacchetto: remove
Mentre il comando remove serve a disinstallare un pacchetto.
$ sudo snap remove tpad
tpad removed
Un po' di sicurezza: come isolare gli ambienti dei software installati
Snap permette di configurare le applicazioni in modo da essere isolate rispetto a certe parti del sistema. Queste parti di sistema si chiamano slot. Per avere la lista delle connessioni tra il software in oggetto e i rispettivi slot è sufficiente usare l'opzione connections.
root@rpippo8:~# snap connections electron-mail
Interface Plug Slot Notes
audio-playback electron-mail:audio-playback :audio-playback -
browser-support electron-mail:browser-support :browser-support -
content[gnome-3-28-1804] electron-mail:gnome-3-28-1804 gnome-3-28-1804:gnome-3-28-1804 -
content[gtk-3-themes] electron-mail:gtk-3-themes gtk-common-themes:gtk-3-themes -
content[gtk-3-themes] electron-mail:gtk-3-themes gtk-theme-traditionalhumanized:gtk-3-themes -
content[icon-themes] electron-mail:icon-themes gtk-common-themes:icon-themes -
content[sound-themes] electron-mail:sound-themes gtk-common-themes:sound-themes -
desktop electron-mail:desktop :desktop -
desktop-legacy electron-mail:desktop-legacy :desktop-legacy -
gsettings electron-mail:gsettings :gsettings -
home electron-mail:home - -
network electron-mail:network :network -
opengl electron-mail:opengl :opengl -
password-manager-service electron-mail:password-manager-service - -
pulseaudio electron-mail:pulseaudio :pulseaudio -
unity7 electron-mail:unity7 :unity7 -
wayland electron-mail:wayland :wayland -
x11 electron-mail:x11 :x11 -
Come potete vedere sulla destra c'è la colonna slot, che sono gli slot a cui è collegata l'applicazione. Lo slot è la parte del sistema operativo che cui puo' accedere l'applicazione. Sulla riga home nella colonna slot c'è un trattino. Questo perché l'applicazione è scollegata dallo slot. In questo caso significa che electron-mail non puo' accedere ad home cioè alle cartelle e ai file delle home directory. Ci sono anche altri slot, come per esempio netowork che naturalmente è la rete. Poi pulseaudio che sarebbe l'infrastruttura audio. Ecc ecc.
Per collegare un plug allo slot, quindi l'applicazione alla parte del sistema, bisogna utilizzare il comando connect . Per esempio se volessimo collegare la :home ad electron-mail dovremmo utilizzare il seguente codice:
# snap connect electron-mail:home :home
e infatti:
# snap connections electron-mail
Interface Plug Slot Notes
audio-playback electron-mail:audio-playback :audio-playback -
browser-support electron-mail:browser-support :browser-support -
content[gnome-3-28-1804] electron-mail:gnome-3-28-1804 gnome-3-28-1804:gnome-3-28-1804 -
content[gtk-3-themes] electron-mail:gtk-3-themes gtk-common-themes:gtk-3-themes -
content[gtk-3-themes] electron-mail:gtk-3-themes gtk-theme-traditionalhumanized:gtk-3-themes -
content[icon-themes] electron-mail:icon-themes gtk-common-themes:icon-themes -
content[sound-themes] electron-mail:sound-themes gtk-common-themes:sound-themes -
desktop electron-mail:desktop :desktop -
desktop-legacy electron-mail:desktop-legacy :desktop-legacy -
gsettings electron-mail:gsettings :gsettings -
home electron-mail:home :home manual
network electron-mail:network :network -
opengl electron-mail:opengl :opengl -
password-manager-service electron-mail:password-manager-service - -
pulseaudio electron-mail:pulseaudio :pulseaudio -
unity7 electron-mail:unity7 :unity7 -
wayland electron-mail:wayland :wayland -
x11 electron-mail:x11 :x11 -
In questo modo avremmo scollegato il client di posta dalla home directory, in modo da evitare che se il processo venisse compromesso questo potrebbe andare ad esplorare la nostro file e cartelle della nostra home directory.
Allo stesso modo possiamo scolleggarlo:
# snap disconnect electron-mail:home :home
Al seguente link troverete l'elenco con le interfacce/slot con le rispettive dispiegazioni.