39 comments

[ 9.4 ms ] story [ 1281 ms ] thread
(comment deleted)
I am wondering if this will cause an increase in Firefox's market share, even though Ubuntu user base is small compared to other OSs (I'm assuming).
Mobile is such a huge percent of market share so I doubt if one desktop distro changing the default browser moves Firefox more than 0.5%.
Firefox is already default on Ubuntu. It just means they'll be moving from a .deb package to a snap package.
(comment deleted)
Firefox is already the default browser on Ubuntu. This change is about the packaging of the browser used by the OS maintainers. I don't think this change will impact any use adoption metrics.
Can someone "sell me" on snap? I've had nothing but trouble with it in my limited experience
It is, as far as I know, the only cross-distro package format that is designed to be cross-platform (desktop, server, IoT) and with built-in sandboxing. Moreover, it is feasible to base a distro off of snap alone (Ubuntu Core, designed for IoT).

Flatpak has sandboxing, but is only designed for desktop apps. Not server and not IoT.

Nix / Guix / AppImage does not have built-in application-level sandboxing out of the box.

> It is, as far as I know, the only cross-distro package format that is designed to be cross-platform (desktop, server, IoT) and with built-in sandboxing. Moreover, it is feasible to base a distro off of snap alone (Ubuntu Core, designed for IoT).

It is not really cross-distro though, since different from Flatpak, Snap assumes many features to be enabled for sandboxing to work (like AppArmor [1]): https://wiki.archlinux.org/title/Snap#Installation. Flatpak only assumes, AFAIK, user namespaces support on Kernel.

[1]: This can be really problematic if your distro is using other MAC like SELinux, since while they're really not designed to run together.

Forced updates that can be delayed but not disabled.
Don't forget:

  1) snapd action logging doesn't go to the system logs and gets purged after 72 hours - makes troubleshooting why something broke REALLY fun
  2) "snap" directory polluting your home directory
Or not being able to get older versions of a particular program. If it is possible, I would like to know how.
If the older version is available in the snap repository it is is possible to install it. For example:

snap info go shows:

  name:      go
  summary:   Go programming language compiler, linker, stdlib
  publisher: Michael Hudson-Doyle (mwhudson)
  store-url: https://snapcraft.io/go
  contact:   michael.hudson@ubuntu.com
  license:   BSD-3-Clause
  description: |
  This snap provides an assembler, compiler, linker, and compiled libraries
  for the Go programming language.
  snap-id: Md1HBASHzP4i0bniScAjXGnOII9cEK6e
  channels:
    latest/stable:    1.16.7           2021-09-08 (8298) 94MB classic
    latest/candidate: ↑                                       
    latest/beta:      ↑                                       
    latest/edge:      devel-8d2a9c32a2 2021-09-17 (8356) 99MB classic
    1.17/stable:      1.17             2021-08-17 (8172) 99MB classic
    1.17/candidate:   ↑                                       
    1.17/beta:        ↑                                       
    1.17/edge:        ↑                                       
    1.16/stable:      1.16.7           2021-09-08 (8298) 94MB classic
    1.16/candidate:   ↑                                       
    1.16/beta:        ↑                                       
    1.16/edge:        ↑                                       
    1.15/stable:      1.15.15          2021-09-08 (8304) 95MB classic
...

To install an older version you can run

  snap install go --channel=1.15/stable --classic
That's not a generic mechanism at all though - right? It is only possible if the snap publisher has decided to support multiple release channels.
You can disable all Snap updates by adding a line to /etc/hosts like this:

127.0.0.1 api.snapcraft.io

(comment deleted)
Hard sell, you want to try Google Playstore...it's nearly the same ;)
I really wish Google Playstore, and iOS/macOS App Stores would install apps automatically at background. Why I need to open those stores, click to update, and on Playstore even have it running at foreground to update?

Snap installs automatically, so it's modern.

Windows 11 Store, Chrome OS, and Linux Mint also can autoupdate at background.

Hopefully some day on all OSes have possibility to enable autoupdates to run at background.

>Hopefully some day on all OSes have possibility to enable autoupdates to run at background.

Maybe auto-insert kernelmodules directly from the net too, that would be a dream!! ;)

Your desktop apps are sandboxed and can't, for example, read all of the files in your home directory.
Snap is best for server apps. When I release new version of Wekan Open Source kanban https://wekan.github.io , it's very soon updated to all servers around the world. That is great for getting Node.js etc security updates installed fast, making all servers safe. Wekan has automatic database migrations etc for upgrading database structure. Update happens fast, only minimal downtime and then server is running newest Wekan. It has worked great for many years.

I have not found anything else that would install updates automatically fast like Snap.

And Canonical paying all that huge server infrastructure for snap updates, build servers, bandwidth, etc.

And Microsoft paying for all the repo hosting, bandwidth, etc at GitHub.

And others like Linux Foundation/CNCF, IBM, MacStadium etc providing development and build servers.

It's all standing shoulders of huge amount of giants. I could not afford all that server infra myself.

Wekan has Snap, Docker, Source and Sandstorm versions. I'm trying to figure out how to add more packaging formats, and have current packaging formats for more CPU architectures.

try running snap inside a docker container and see the gateway to hell it opens
Huh? Docker has limited amount of layers, and can easily consume a lot of disk space. It's also very easy to mess up data between layers.

Better would be to run Snap inside LXC containers, it works well: https://github.com/wekan/wekan-snap/wiki/Many-Snaps-on-LXC

My point is: you can easily install software in Docker using apt-get

You cannot easily install software in Docker using snaps.

This makes snaps less useful on servers than traditional apt-get.

Snap actually has a lot of benefits. Developers get a streamed way of publishing Linux apps. Users get an easier access to apps, and the benefit of sandboxing.

Case: at work recently I needed to use Microsoft Teams for a business meeting. With snap, I only needed to do `snap install teams`, and voila, I could start a web meeting with my customer.

Without snap, I would have to install Teams from Microsoft's apt repo. I think this is pretty inferior to snap, because 1) It's harder to manage, 2) implicitly grants a root access on my machine to Microsoft, and 3) can break my system with package conflicts.

Maybe that will be the right time to switch to NixOS.

Have been uninstalling Snap on each Ubuntu release and will not start using it when they try to make it mandatory.

> Migrating the single most critical pieces of software on an Ubuntu install to a package format regularly criticised as slow and buggy is a brave move.
It is also Canonical-centric, there is pretty much only one repository under Canonical's control and closed source, and so forth. I missed out a lot of other things, but Snap is... nope. I would rather use Flatpak if I have to choose between the two.

I mean, if you (generally speaking) have experience with package managers on Linux, then you can easily see the difference between them and Snap. Snap to me is similar to Google's Play Store, but for desktop.

I will just change distros if Ubuntu doesn't start making snap an opt-in.
can you explain why you dislike snap?
The Snap Store server is closed source and controlled only by Canonical. There is currently no fully functional FOSS reimplementation of the Snap Store server.
And software that releases only via Snap makes their use very limited. Before X went full Snap-only, I could at least download their .deb and easily "ar x" and "tar xvf" to get the executable which I could run, but now... nope.

I avoid Snap and any piece of software that publishes their stuff on Snap only. You cannot even download stuff from Snap, you need "snapd" running and then you gotta run "snap install X". Bah. To me it is pretty much equivalent to Google Play Store, except for desktop, and for Canonical.

Oh, and you cannot download older versions of the software.

So now the 1st thing I do on a fresh Ubuntu install will be "snap remove firefox" instead of my usual "apt purge firefox".
Why use that slug of a distro at all?
It really doesn't matter the distro. One of the first things I do with any distro which ships Firefox as the default is uninstall it.