There’s actually an even more straightforward way to completely disable automatic updates.
Instead of running snap install foo
, you can actually use snap download foo ; snap install foo.snap --dangerous
(or something along those lines). What that will do is, completely safely (still from the store etc!), sideload the snap onto your system, so that it won’t get updates from the store. You can then manually update the snaps as you wish by installing the new snap manually by running snap download foo ; snap install foo.snap --dangerous
again (not sure, might be that it’s snap download foo ; snap refresh foo.snap --dangerous
), point is that you can work out a one-command way of manually downloading and installing updates. It is, of course, not recommended, but if you want full control of your updates the option is there. The reason why the flag is --dangerous
is because what you’re doing is considered dangerous by snapd
firstly because you could be sideloading some completely random snap which could be malicious (but if you’re sideloading from the store with snap download foo ; snap install foo.snap
then it won’t have been considered malicious by the store at the time you downloaded the snap, the only other way it’s dangerous is that, as you have intended, you will no longer get security and other updates for that snap automatically).
Note that method won’t allow you to sideload (disable updates for) the core
snap I don’t think (though I suspect it may still be possible to sideload base snaps like core16
), but since snaps contain most of the dependencies they need anyway, that shouldn’t be a huge problem…