OS: Ubuntu 20.04
The following is the output of snap list
on a new install of Ubuntu 20.04:
$ snap list
Name Version Rev Tracking Publisher Notes
core18 20200311 1705 latest/stable canonical✓ base
gnome-3-34-1804 0+git.2c86692 27 latest/stable/… canonical✓ -
gtk-common-themes 0.1-36-gc75f853 1506 latest/stable/… canonical✓ -
snap-store 3.36.0-74-ga164ec9 433 latest/stable/… canonical✓ -
snapd 2.44.3 7264 latest/stable canonical✓ snapd
$
And this is what I see after installing a variety of snaps (and removing some):
$ snap list
Name Version Rev Tracking Publisher Notes
core 16-2.44.3 9066 latest/stable canonical✔ core
core18 • 20200427 1754 latest/stable canonical✔ base
firefox * 77.0b2-1 358 latest/beta mozilla✔ -
gnome-3-28-1804 3.28.0-16-g27c9498.27c9498 116 latest/stable canonical✔ -
gnome-3-34-1804 • 0+git.2c86692 27 latest/stable/… canonical✔ -
gnome-system-monitor * 3.32.0-27-g32ed970e06 135 latest/stable canonical✔ -
gtk-common-themes • 0.1-36-gc75f853 1506 latest/stable/… canonical✔ -
kanagram * 20.04.0 51 latest/stable kde✔ -
kcolorchooser * 20.04.0 57 latest/stable kde✔ -
kde-frameworks-5 5.47.0 27 latest/stable kde✔ -
kde-frameworks-5-core18 5.61.0 32 latest/stable kde✔ -
kde-frameworks-5-qt-5-14-core18 5.68.0 4 latest/stable kde✔ -
kolourpaint * 20.04.0 56 latest/stable kde✔ -
ksnip * 1.7.0 46 latest/edge dporobic -
okular * 20.04.0 98 latest/stable kde✔ -
snap-store • 3.36.0-74-ga164ec9 433 latest/stable/… canonical✔ -
snapd • 2.44.3 7264 latest/stable canonical✔ snapd
$
For ease of discussion, let's call
- the five original snaps (tagged with
•
next to their names) "system snaps" - the snaps I knowingly installed (tagged with
*
next to their names) "primary snaps" - and the other snaps "supporting snaps"
- core
- gnome-3-28-1804
- kde-frameworks-5
- kde-frameworks-5-core18
- kde-frameworks-5-qt-5-14-core18
Given that a snap and a minimum of two revisions are stored by the system, and that some supporting snaps can be a couple of hundred MB (ls -lh /var/lib/snapd/snaps
), it would be worth knowing which secondary snaps can be removed if the primary snap has been already removed.
But how does one "map" the supporting snaps to the primary snaps?
In my case, I can run snap connections okular
to intuit that kde-frameworks-5-qt-5-14-core18
was installed as a consequence of sudo snap install okular
.
But snap connections …
works only if the relevant snap is still installed. I had installed but then removed falkon
, featherpad
, kcalc
, konversation
, palapeli
, and the stable version of ksnip
.
Is there a log file related to installing and removing snaps akin to /var/log/dpkg.log
or /var/log/apt/history.log
?
If not, how else is one to know if a "supporting" snap is still required?
A related, but unanswered, question is here: How can I list manually installed snaps and remove no longer needed automatically installed ones?
snap.yaml
-files (each snap has one) in/snap/snapname/current/meta
, look for the linesbase:
anddefault-provider:
, but this would be cumbersome if many snaps are installed..yaml
-file would make it possible to exclude still needed snaps. If we have a "supporting" snap installed which is not needed anymore, this snap wouldn't appear in any of the o.yaml
-files of other snaps. But that's obviously cumbersome.core18
-snap and goterror: cannot remove "core18": snap "core18" is not removable: snap is being used by snaps gnome-3-28-1804, gtk-common-themes, snap-store and wire.
Looks like we have to wait for the devs to implement an autoremove feature similar to apt.