Install as a snap or a package?

I was looking up syncthing where it tells me that I can also install it as a snap.

Is it safe/ normal to install apps using snap? I have never done it in the past. I have always used sudo apt-get install method.

To which folder do applications installed with snap get installed? Can other users on the same computer access these applications?

There is a snapd process with root as owner always running. Is it normal?

snap list shows core installed. Is this normal?


Solution 1:

Is it safe/ normal to install apps using snap? I have never done it in the past. I have always used sudo apt-get install method.

Yes. Some might argue safer as many snaps are strictly confined, so cannot reach beyond what they're permitted to access.

To which folder do applications installed with snap get installed?

They don't get "installed" in the traditional sense. The snap file is a compressed file which sits on disk as a read-only image. It's mounted when the snap is installed, and the files inside are uncompressed at runtime. They're not upacked onto directories on disk.

The snap file can usually be found in /var/lib/snap/snapd/snaps and when mounted the files inside can be viewed in /snap/<snapname>/current.

Can other users on the same computer access these applications?

Yes. They're installed for all users. The user data will be separate for each user though. Typically in /home/<user>/snap/<appname>/current.

There is a snapd process with root as owner always running. Is it normal?

Yes. Snaps automatically update, and it's the snapd process which takes care of this.

snap list shows core installed. Is this normal?

Yes. The core snap contains a minimal, stable, common Ubuntu runtime environment which the snapped application runs against. This ensures the same snap can be run on Ubuntu 17.10, 17.04, 16.04, 14.04 and other distributions like Debian, Fedora, OpenSUSE and others.

Solution 2:

Snap packages do not get installed to a folder. Snaps are squashfs mounts. Yes, any user on the computer should be able to run an application installed via snap. They are technically safer than debian packages, as debian packages automatically grant root access to any package being installed, while snaps are just SquashFS files which get mounted, and which do not have scripts that execute arbitrary code as root.

The snapd process must run as root, and so is normal, as well as the requirement for the ubuntu-core package being installed, to run snaps.