23

I am running Ubuntu 16.10 with snapd and the basic core snap installed since it was released.
After some time I observed that the /snap/core directory fills up with multiple older versions.
To remove them I'll have to execute sudo snap remove core --revision <number> manually.

Multiple versions of snaps & garbage collection section in Snaps and snapcraft documentation explains that after every update of a snap package the current version and the one before are installed and older versions are getting automatically removed (just as it was earlier the case).

As I cannot find further information in snap help, I am asking whether there is a setting or a switch command in snapd to enable automatic removal of those older core snap packages.
Additional information : What I described is valid for 3 machines with the same configuration.

  • 1
    The default in snapd is to keep 3 versions, current and two previous. How many were you seeing? – popey Mar 22 '17 at 12:22
  • 2
    Thanks for this information @popey ! Whenever I found more than two core versions, I uninstalled the oldest one manually and in most cases I saw three installed versions, but I am not sure if I also found four versions before. Why does the documentation provide a different information ? Can I change the default settings to keep only the current and the one before ? Maybe you can explain it by writing an answer ? :) – cl-netbox Mar 22 '17 at 13:27
  • If you're seeing more than 3 then it's a bug in my mind, so I'd file it at bugs.launchpad.net/ubuntu/+source/snapd . Would need to see the output of "snap changes" and show directory listing maybe in /snap/<appname> to show multiple installed versions. – popey Mar 31 '17 at 11:02
6

Right now I don't believe it's possible to change the number of old versions of any snap, that's set at 3. If you see more than that, it's likely a bug, so should be filed at https://bugs.launchpad.net/ubuntu/+source/snapd

5

The post https://superuser.com/questions/1310825/how-to-remove-old-version-of-installed-snaps lists several solutions for older snap version removing:

Manual script by popey to delete "all old versions of snaps" - https://superuser.com/a/1330590

#!/bin/bash
# https://superuser.com/a/1330590
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS set -eu

snap list --all | awk '/disabled/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done

And "snap set system refresh.retain" setting for "snap 2.34 and later" by Mustapha Hadid to store only 2 revisions of every snap https://superuser.com/a/1361201:

$ sudo snap set system refresh.retain=2 

The refresh.retain value can only be a number between 2 and 20 and has a default value of 3

  • 3
    i've run that sudo snap set system refresh.retain=2 , but there are still three copies of some snaps, what to do? – Rabbit May 16 at 16:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.