top | item 24016662

Ubuntu Snap auto updates broke my development setup, can't turn them off

57 points| hernantz | 5 years ago |raymii.org

35 comments

order
[+] julianlam|5 years ago|reply
The more I read about Snap, the more its user-hostile behaviour bothers me.

I've read again and again (on here, of all places) that snap packages are _great_ for server administration, but I feel like production machines are a place where you wouldn't want a random assortment of packages updating. I can hear the sysadmins scream already, from here.

With the fact that Snap (and Flatpak) package releases are often delayed due to whatever vetting needs to take place (plus packaging or rollout delays?), combined with the fact that it can and will auto-update without your approval, even if you've told it otherwise, it sounds like the worst of both worlds.

For what its worth, Pop!_OS also doesn't use snap... and of all things, the reason why I switched from Ubuntu 20.04 to Pop!_OS was because the calculator took five seconds to load (of course, being a snap package) on Ubuntu, and milliseconds, on Pop, as it should.

[+] curt15|5 years ago|reply
>combined with the fact that it can and will auto-update >without your approval, even if you've told it otherwise

This behavior is easy to rationalize if you think of it as a business decision. Canonical is happy to sell you an "enterprise edition" app store (a so-called "brand store") that restores full control of app updates. See https://core.docs.ubuntu.com/en/guides/go-to-production/adva....

[+] amscanne|5 years ago|reply
I don’t understand who wants auto-updates.

The best practices I’m familiar generally have immutable things (images, containers), with new versions deployed continuously (with a build & validation pipeline). In-place upgrade just adds new failure dimensions, let alone automatic in-place upgrade.

[+] fleg|5 years ago|reply
With Flatpak you can have your own repositories. Therefore packages can be released as soon as developer wants, without depending on someone else deciding whether to allow for that or not.
[+] csdreamer7|5 years ago|reply
I believe the author is (partially) wrong. You can use 'snap revert' to revert to the working version of CLion. For example for the hugo snap.

sudo snap revert hugo

will revert the hugo snap to the last version.

He is right that you have (almost) no control over snap updates. The snap will be refreshed if a new version after the latest is published according to the docs.

https://snapcraft.io/docs/getting-started#heading--revert

I am a little disappointed in this. I expected to be able to pin a software version or at least be able to access a lot more than the very last version of a snap. A lot of software publishers (both proprietary and open source) like to break compatibility with plugins that would break your workflow. You may be waiting a while for your plugins to update (or you give up on your plugins once other plugins show up or the new version has matured enough for you to move over).

A quick search of Flatpak shows that you can revert an older version and have more options to choose from.

https://unix.stackexchange.com/questions/552688/is-it-possib...

Also, Flatpak's 'mask' command may allow you to pin a version?

https://github.com/flatpak/flatpak/issues/3078

Perhaps someone familiar with Flatpak can chime on it. Last I used it Atom was still popular.

[+] solraph|5 years ago|reply
This mirrors my experience. I've been a mostly happy Ubuntu user since 5.04/Hoary, baring a few bumps like Unity and pulse audio becoming defaults before they were polished enough for general release.

But after upgrading to 20.04, and fighting with Snap slowdowns, and yet another change in desktop direction, the weird data sharing of searches with Amazon, and weird power management problems on hardware that had previously "Just Worked", I just had had enough. I switched to Mint a month ago, and haven't look back.

I love how Ubuntu has brought Linux into the (somewhat) mainstream, but I'm just over how much it keeps changing direction, and releasing things before they're ready.

[+] PZ81JUXJE7uJ|5 years ago|reply
Get over that damn Amazon link already. It's been gone for years!
[+] tssva|5 years ago|reply
Snap auto updates brought down a 4 node Raspberry Pi 4 lxd cluster I was running in my home lab. One of the nodes went down and before there was a chance to address it snap decided to auto update lxd on the remaining nodes. Since the down node wasn't updated this caused the entire cluster to fail because not all the cluster members were on the same lxd version. I was able to force remove the down node from the cluster to bring things back up.

As soon as possible I moved away from lxd which is a shame. It met my needs better and was easier to manage than k3s which replaced it. Unfortunately as long as it is only available as a snap it is a non-starter for my lab. I don't see how it could possibly be considered for a real deployment.

[+] curt15|5 years ago|reply
The way canonical is pushing snap reminds me of how Google once tried to force Google+ into everything.
[+] julianlam|5 years ago|reply
Seriously? You aren't able to install LXD via apt any more? Suppose that's what you get when a product is owned by Canonical...
[+] marvion|5 years ago|reply
Yes, it's weird that it can't be turned off, but the snap documentation is very clear about the auto update.

Snap versions also can be reverted.... it is annoying, but the article is a bit overdramatic, since it's not a secret..

RocketChat has this issue to. They work around that by delaying the snap release for weeks. And they also provide different update channels.

[+] julianlam|5 years ago|reply
You can use the revert command to revert to the last version, but what if you want to pin to a specific version? From what I've heard, that is not possible.

... and what if you revert a package, and a new version gets published, will it pull the rug out from under you and update again?

[+] numberwhun|5 years ago|reply
I, for one, refuse to use snap. While I do admit It makes some things stupid easy to install, there are trade offs. First. The fact that it’s breaking things is bad. Second, for every snap install there is a ‘/loop/blah” entry in your did output. This is severely annoying and not needed IMHO. While breaking things is far worse, little annoyances have an effect. I will personally avoid snap and stick to installing things the way I always have.
[+] wayneftw|5 years ago|reply
Every single time that I’ve tried Ubuntu it’s been killed by an update.

Manjaro is the only distro that was stable enough to keep running without fail. Been running it for 2 years now. One of the best things it has over Ubuntu is the ease of installing software. No more hunting down keys or PPAs.

[+] Erlangen|5 years ago|reply
I guess Ubuntu will provide a enterprise edition of Snap in future. It will allow users to suspend updates.
[+] reportgunner|5 years ago|reply
There will never be any such thing as a free lunch.
[+] ncmncm|5 years ago|reply
I have never understood why so many people think installing Ubuntu is a good idea. It's not like there is any shortage of absolutely outstanding distributions. Debian, Arch, Nix, Suse, Fedora, Gentoo -- something for everyone, none habitually weird.
[+] fileeditview|5 years ago|reply
I can tell you why it is a good idea for me.

After having tried most (major) distros available over and over again, I decided about 2 years ago that I will just stick with Ubuntu in the future. Why is that?

- Stuff just works (better). No matter which hardware I used, Ubuntu was always the best out of the box configuration. I am getting to old to spend 2 days on setting up an obscure printer driver on arch e.g. These days I just want to be able to print as soon as I boot the first time and use my time for better things.

- It's polished. It just has the best desktop experience of all distros. The fonts look good. The theme does not look like a mess of things jumbled together.

- Most software is available in the repos or you can download a .deb package or use PPAs. The rest I can as usual just build myself.

The only "downside" for me is that it is not a rolling release.

[+] Barrin92|5 years ago|reply
mostly because for many people it has the most comfortable defaults. Unless you go for the non-free ISOs Debian is too barebones and stable ships extremely old software, rolling releases like Arch may break at any point, Suse often lacks 3rd party support for proprietary software and so on.

Fedora is pretty solid but also very much on the experimental side, like shipping Wayland as a default versions ago when half of the applications didn't work right.

I've defaulted to Ubuntu because it 'just works', every other distro I just have to spend time to do what Ubuntu does anyway.

[+] Alekhine|5 years ago|reply
Nice to see NixOS mentioned. Haven't tried it yet, but it's cool seeing such an innovative distro.