Snap doesn't work at all after I followed some instructions

I couldn’t open snaps so I followed this procedure:

sudo mv /var /var.BAK sudo mkdir /var sudo reboot

Now when I run

snap version

I get

snap 2.44.3+20.04 snapd unavailable series -

and when I run

snap list

i get

error: cannot list snaps: cannot communicate with server: Get http://localhost/v2/snaps: dial unix /run/snapd.socket: connect: connection refused

and

systemctl status snapd.service

outputs

● snapd.service - Snap Daemon Loaded: loaded (/lib/systemd/system/snapd.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Fri 2020-07-10 14:30:16 -03; 9min ago TriggeredBy: ● snapd.socket Process: 1253 ExecStart=/usr/lib/snapd/snapd (code=exited, status=1/FAILURE) Main PID: 1253 (code=exited, status=1/FAILURE) jul 10 14:30:16 Y50-70 systemd[1]: snapd.service: Scheduled restart job, restart counter is at 5. jul 10 14:30:16 Y50-70 systemd[1]: Stopped Snap Daemon. jul 10 14:30:16 Y50-70 systemd[1]: snapd.service: Start request repeated too quickly. jul 10 14:30:16 Y50-70 systemd[1]: snapd.service: Failed with result ‘exit-code’. jul 10 14:30:16 Y50-70 systemd[1]: Failed to start Snap Daemon. jul 10 14:30:16 Y50-70 systemd[1]: snapd.service: Triggering OnFailure= dependencies.

These commands have moved all of the snapd state from /var/lib/snapd/... to /var.BAK/lib/snapd which snapd does not understand. I’m not sure what instructions you followed that told you to do this but I don’t think this is likely to fix your problem. Can you try moving /var.BAK back to /var and then report back how snaps do not open for you?

I new to linux, how can i do that?

try running these commands on your system in the terminal:

sudo mv /var.BAK /var
sudo reboot

and then try running

snap version
snap install hello-world
snap run hello-world

snap version

returns

snap 2.44.3+20.04 snapd unavailable series -

and

snap install hello-word

returns

error: cannot communicate with server: Post http://localhost/v2/snaps/hello-world: dial unix /run/snapd.socket: connect: connection refused

What is journalctl -e --no-pager -u snapd?

This is the output

– Logs begin at Fri 2020-07-10 15:46:30 -03, end at Fri 2020-07-10 16:23:45 -03. – jul 10 15:46:32 Y50-70 systemd[1]: Starting Snap Daemon… jul 10 15:46:33 Y50-70 snapd[939]: AppArmor status: apparmor is enabled and all features are available jul 10 15:46:33 Y50-70 snapd[939]: cannot run daemon: fatal: directory “/var/lib/snapd” must be present jul 10 15:46:33 Y50-70 systemd[1]: snapd.service: Main process exited, code=exited, status=1/FAILURE jul 10 15:46:33 Y50-70 systemd[1]: snapd.service: Failed with result ‘exit-code’. jul 10 15:46:33 Y50-70 systemd[1]: Failed to start Snap Daemon. jul 10 15:46:33 Y50-70 systemd[1]: snapd.service: Scheduled restart job, restart counter is at 1. jul 10 15:46:33 Y50-70 systemd[1]: Stopped Snap Daemon. jul 10 15:46:33 Y50-70 systemd[1]: Starting Snap Daemon… jul 10 15:46:33 Y50-70 snapd[1078]: AppArmor status: apparmor is enabled and all features are available jul 10 15:46:33 Y50-70 snapd[1078]: cannot run daemon: fatal: directory “/var/lib/snapd” must be present jul 10 15:46:33 Y50-70 systemd[1]: snapd.service: Main process exited, code=exited, status=1/FAILURE jul 10 15:46:33 Y50-70 systemd[1]: snapd.service: Failed with result ‘exit-code’. jul 10 15:46:33 Y50-70 systemd[1]: Failed to start Snap Daemon. jul 10 15:46:33 Y50-70 systemd[1]: snapd.service: Scheduled restart job, restart counter is at 2. jul 10 15:46:33 Y50-70 systemd[1]: Stopped Snap Daemon. jul 10 15:46:33 Y50-70 systemd[1]: Starting Snap Daemon… jul 10 15:46:33 Y50-70 snapd[1110]: AppArmor status: apparmor is enabled and all features are available jul 10 15:46:33 Y50-70 snapd[1110]: cannot run daemon: fatal: directory “/var/lib/snapd” must be present jul 10 15:46:33 Y50-70 systemd[1]: snapd.service: Main process exited, code=exited, status=1/FAILURE jul 10 15:46:33 Y50-70 systemd[1]: snapd.service: Failed with result ‘exit-code’. jul 10 15:46:33 Y50-70 systemd[1]: Failed to start Snap Daemon. jul 10 15:46:33 Y50-70 systemd[1]: snapd.service: Scheduled restart job, restart counter is at 3. jul 10 15:46:33 Y50-70 systemd[1]: Stopped Snap Daemon. jul 10 15:46:33 Y50-70 systemd[1]: Starting Snap Daemon… jul 10 15:46:33 Y50-70 snapd[1199]: AppArmor status: apparmor is enabled and all features are available jul 10 15:46:33 Y50-70 snapd[1199]: cannot run daemon: fatal: directory “/var/lib/snapd” must be present jul 10 15:46:33 Y50-70 systemd[1]: snapd.service: Main process exited, code=exited, status=1/FAILURE jul 10 15:46:33 Y50-70 systemd[1]: snapd.service: Failed with result ‘exit-code’. jul 10 15:46:33 Y50-70 systemd[1]: Failed to start Snap Daemon. jul 10 15:46:34 Y50-70 systemd[1]: snapd.service: Scheduled restart job, restart counter is at 4. jul 10 15:46:34 Y50-70 systemd[1]: Stopped Snap Daemon. jul 10 15:46:34 Y50-70 systemd[1]: Starting Snap Daemon… jul 10 15:46:34 Y50-70 snapd[1222]: AppArmor status: apparmor is enabled and all features are available jul 10 15:46:34 Y50-70 snapd[1222]: cannot run daemon: fatal: directory “/var/lib/snapd” must be present jul 10 15:46:34 Y50-70 systemd[1]: snapd.service: Main process exited, code=exited, status=1/FAILURE jul 10 15:46:34 Y50-70 systemd[1]: snapd.service: Failed with result ‘exit-code’. jul 10 15:46:34 Y50-70 systemd[1]: Failed to start Snap Daemon. jul 10 15:46:34 Y50-70 systemd[1]: snapd.service: Scheduled restart job, restart counter is at 5. jul 10 15:46:34 Y50-70 systemd[1]: Stopped Snap Daemon. jul 10 15:46:34 Y50-70 systemd[1]: snapd.service: Start request repeated too quickly. jul 10 15:46:34 Y50-70 systemd[1]: snapd.service: Failed with result ‘exit-code’. jul 10 15:46:34 Y50-70 systemd[1]: Failed to start Snap Daemon. jul 10 15:46:34 Y50-70 systemd[1]: snapd.service: Triggering OnFailure= dependencies.

Welcome to Linux, one of the really nice things with Linux that got me hooked back in the day was that is was so easy to change things. This of course also means it’s easy to break things. What I have learned it to never run any commands that I do not understand. That will make it much easier to understand whats going on and how to solve potential problems. This has of course also the added bonus of learning something new.

sudo mv /var /var.BAK
sudo mkdir /var

This will move (mv) the directory /var to /var.BAK and make a directory (mkdir) called /var, or in simple English: Rename var to var.BAK and make an empty var.

Linux is inspired from older UNIX-systems and have adopted the same directory layout, if you are curious you can read more about it here. “var” stands for “Variable files”, a place to store data that changes. This directory is used by a plenty of different applications (not only snapd) so by emptying /var you may have broken several applications.

Good thing, you have an backup in var.BAK, so it should be simple to restore. I assume you changed nothing else, and then executed the commands suggested by @ijohnson the backup (/var.BAK) was not properly restored. Instead of overwriting the empty /var, you moved var.BAK inside /var.

I would first look inside /var to make sure that the current state is what I think it is. For that use the list command (ls):

ls /var

That should list all non-hidden files inside the directory. On my system it looks like this:

$ ls /var
backups  cache  crash  lib  local  lock  log  mail  metrics  opt  run  snap  spool  tmp

I suspect that you only see your var.BAK directory there, or possible some other files that the system has re-created. If this is true, do this:

Move the backup directory back to it’s original position

sudo mv /var/var.BAK /

If /var contained additional files, save them (just in case you need them):

sudo mv /var /var.BAK2

or if var did not contain additional files, just remove the empty directory with “remove dir” (rmdir):

sudo rmdir /var

Now, run the commands suggested by @ijohnson:

sudo mv /var.BAK /var

This time, /var does not exists so the directory will be renamed from var.BAK to var.

Reboot the system, and try out the snap commands and see what happens:

sudo reboot
1 Like

Hey man thanks for the detailed explanation. I understand the commands now. However I’m still unable to run apps. For example

$ snap install hello-world hello-world 6.4 from Canonical✓ installed

$ snap run hello-world cannot perform operation: mount --rbind /dev /tmp/snap.rootfs_Vw1U0P//dev: No such file or directory

I ran these exact commands

Is this message the same as the original error you got? or is this a new error?
I’m correct to assume you are running Ubuntu and 20.04 to be more precise?

Hi, can you also run these commands now:

snap version
snap debug confinement

This is a new error, the original I got was

$ snap install hello-word error: cannot communicate with server: Post /* link here */ dial unix /run/snapd.socket: connect: connection refused

Yes, I’m running Ubuntu 20.04

(I posted the link in “/* link here */” above and am unable to post it again)

Sure

$ snap version snap 2.44.3+20.04 snapd 2.44.3+20.04 series 16 ubuntu 20.04 kernel 5.4.0-40-generic

$ snap debug confinement strict

Can you also run

SNAP_CONFINE_DEBUG=1 snap run hello-world

?

This is the output:

DEBUG: umask reset, old umask was 02 DEBUG: security tag: snap.hello-world.hello-world DEBUG: executable: /usr/lib/snapd/snap-exec DEBUG: confinement: non-classic DEBUG: base snap: core DEBUG: ruid: 1000, euid: 0, suid: 0 DEBUG: rgid: 1000, egid: 1000, sgid: 1000 DEBUG: apparmor label on snap-confine is: /usr/lib/snapd/snap-confine DEBUG: apparmor mode is: enforce DEBUG: creating lock directory /run/snapd/lock (if missing) DEBUG: set_effective_identity uid:0 (change: no), gid:0 (change: yes) DEBUG: opening lock directory /run/snapd/lock DEBUG: set_effective_identity uid:0 (change: no), gid:1000 (change: yes) DEBUG: opening lock file: /run/snapd/lock/.lock DEBUG: set_effective_identity uid:0 (change: no), gid:0 (change: yes) DEBUG: set_effective_identity uid:0 (change: no), gid:1000 (change: yes) DEBUG: sanity timeout initialized and set for 30 seconds DEBUG: acquiring exclusive lock (scope (global), uid 0) DEBUG: sanity timeout reset and disabled DEBUG: ensuring that snap mount directory is shared DEBUG: unsharing snap namespace directory DEBUG: set_effective_identity uid:0 (change: no), gid:0 (change: yes) DEBUG: set_effective_identity uid:0 (change: no), gid:1000 (change: yes) DEBUG: releasing lock 5 DEBUG: opened snap-update-ns executable as file descriptor 5 DEBUG: opened snap-discard-ns executable as file descriptor 6 DEBUG: creating lock directory /run/snapd/lock (if missing) DEBUG: set_effective_identity uid:0 (change: no), gid:0 (change: yes) DEBUG: opening lock directory /run/snapd/lock DEBUG: set_effective_identity uid:0 (change: no), gid:1000 (change: yes) DEBUG: opening lock file: /run/snapd/lock/hello-world.lock DEBUG: set_effective_identity uid:0 (change: no), gid:0 (change: yes) DEBUG: set_effective_identity uid:0 (change: no), gid:1000 (change: yes) DEBUG: sanity timeout initialized and set for 30 seconds DEBUG: acquiring exclusive lock (scope hello-world, uid 0) DEBUG: sanity timeout reset and disabled DEBUG: initializing mount namespace: hello-world DEBUG: snappy_udev_init DEBUG: forked support process 6841 DEBUG: unsharing the mount namespace (per-snap) DEBUG: changing apparmor hat to mount-namespace-capture-helper DEBUG: helper process waiting for command DEBUG: sanity timeout initialized and set for 30 seconds DEBUG: scratch directory for constructing namespace: /tmp/snap.rootfs_r1NyAb DEBUG: performing operation: (disabled) use debug build to see details DEBUG: performing operation: (disabled) use debug build to see details DEBUG: performing operation: (disabled) use debug build to see details DEBUG: performing operation: (disabled) use debug build to see details DEBUG: performing operation: (disabled) use debug build to see details DEBUG: performing operation: (disabled) use debug build to see details cannot perform operation: mount --rbind /dev /tmp/snap.rootfs_r1NyAb//dev: No such file or directory

Do you have anything in /dev ? What’s the output of

ls -lah /dev/

$ ls -lah /dev/ total 4,0K drwxr-xr-x 21 root root 4,3K jul 13 10:57 . drwxr-xr-x 21 root root 4,0K jul 13 10:56 … crw-r–r-- 1 root root 10, 235 jul 13 10:57 autofs drwxr-xr-x 2 root root 260 jul 13 10:57 block drwxr-xr-x 2 root root 60 jul 13 10:57 bsg crw------- 1 root root 10, 234 jul 13 10:57 btrfs-control drwxr-xr-x 3 root root 60 jul 13 10:57 bus drwxr-xr-x 2 root root 4,4K jul 13 10:57 char crw–w---- 1 root tty 5, 1 jul 13 10:57 console lrwxrwxrwx 1 root root 11 jul 13 10:57 core → /proc/kcore drwxr-xr-x 2 root root 60 jul 13 10:57 cpu crw------- 1 root root 10, 59 jul 13 10:57 cpu_dma_latency crw------- 1 root root 10, 203 jul 13 10:57 cuse drwxr-xr-x 7 root root 140 jul 13 10:57 disk drwxr-xr-x 3 root root 140 jul 13 10:57 dri crw------- 1 root root 240, 0 jul 13 10:57 drm_dp_aux0 crw------- 1 root root 10, 62 jul 13 10:57 ecryptfs crw-rw---- 1 root video 29, 0 jul 13 10:57 fb0 lrwxrwxrwx 1 root root 13 jul 13 10:57 fd → /proc/self/fd crw-rw-rw- 1 root root 1, 7 jul 13 10:57 full crw-rw-rw- 1 root root 10, 229 jul 13 10:57 fuse crw------- 1 root root 242, 0 jul 13 10:57 hidraw0 crw------- 1 root root 242, 1 jul 13 10:57 hidraw1 crw------- 1 root root 10, 228 jul 13 10:57 hpet drwxr-xr-x 2 root root 0 jul 13 10:57 hugepages crw------- 1 root root 10, 183 jul 13 10:57 hwrng crw------- 1 root root 89, 0 jul 13 10:57 i2c-0 crw------- 1 root root 89, 1 jul 13 10:57 i2c-1 crw------- 1 root root 89, 2 jul 13 10:57 i2c-2 crw------- 1 root root 89, 3 jul 13 10:57 i2c-3 crw------- 1 root root 89, 4 jul 13 10:57 i2c-4 crw------- 1 root root 89, 5 jul 13 10:57 i2c-5 crw------- 1 root root 89, 6 jul 13 10:57 i2c-6 crw------- 1 root root 89, 7 jul 13 10:57 i2c-7 crw------- 1 root root 89, 8 jul 13 10:57 i2c-8 lrwxrwxrwx 1 root root 12 jul 13 10:57 initctl → /run/initctl drwxr-xr-x 4 root root 500 jul 13 10:57 input crw-r–r-- 1 root root 1, 11 jul 13 10:57 kmsg crw-rw----+ 1 root kvm 10, 232 jul 13 10:57 kvm drwxr-xr-x 2 root root 60 jul 13 10:57 lightnvm lrwxrwxrwx 1 root root 28 jul 13 10:57 log → /run/systemd/journal/dev-log brw-rw---- 1 root disk 7, 0 jul 13 10:57 loop0 brw-rw---- 1 root disk 7, 1 jul 13 10:57 loop1 brw-rw---- 1 root disk 7, 2 jul 13 10:57 loop2 brw-rw---- 1 root disk 7, 3 jul 13 10:57 loop3 brw-rw---- 1 root disk 7, 4 jul 13 11:01 loop4 brw-rw---- 1 root disk 7, 5 jul 13 10:58 loop5 brw-rw---- 1 root disk 7, 6 jul 13 10:57 loop6 brw-rw---- 1 root disk 7, 7 jul 13 10:57 loop7 crw-rw---- 1 root disk 10, 237 jul 13 10:57 loop-control drwxr-xr-x 2 root root 60 jul 13 10:57 mapper crw------- 1 root root 10, 227 jul 13 10:57 mcelog crw-rw---- 1 root video 239, 0 jul 13 10:57 media0 crw------- 1 root root 241, 0 jul 13 10:57 mei0 crw-r----- 1 root kmem 1, 1 jul 13 10:57 mem drwxrwxrwt 2 root root 40 jul 13 10:57 mqueue drwxr-xr-x 2 root root 60 jul 13 10:57 net crw-rw-rw- 1 root root 1, 3 jul 13 10:57 null crw-rw-rw- 1 root root 195, 0 jul 13 10:57 nvidia0 crw-rw-rw- 1 root root 195, 255 jul 13 10:57 nvidiactl crw-rw-rw- 1 root root 195, 254 jul 13 10:57 nvidia-modeset crw-rw-rw- 1 root root 235, 0 jul 13 10:57 nvidia-uvm crw-rw-rw- 1 root root 235, 1 jul 13 10:57 nvidia-uvm-tools crw------- 1 root root 10, 144 jul 13 10:57 nvram crw-r----- 1 root kmem 1, 4 jul 13 10:57 port crw------- 1 root root 108, 0 jul 13 10:57 ppp crw------- 1 root root 10, 1 jul 13 10:57 psaux crw-rw-rw- 1 root tty 5, 2 jul 13 12:09 ptmx drwxr-xr-x 2 root root 0 jul 13 10:57 pts crw-rw-rw- 1 root root 1, 8 jul 13 10:57 random crw-rw-r–+ 1 root root 10, 242 jul 13 10:57 rfkill lrwxrwxrwx 1 root root 4 jul 13 10:57 rtc → rtc0 crw------- 1 root root 249, 0 jul 13 10:57 rtc0 brw-rw---- 1 root disk 8, 0 jul 13 10:57 sda brw-rw---- 1 root disk 8, 1 jul 13 10:57 sda1 brw-rw---- 1 root disk 8, 2 jul 13 10:57 sda2 crw-rw---- 1 root disk 21, 0 jul 13 10:57 sg0 drwxrwxrwt 2 root root 40 jul 13 12:09 shm crw------- 1 root root 10, 231 jul 13 10:57 snapshot drwxr-xr-x 3 root root 340 jul 13 10:57 snd lrwxrwxrwx 1 root root 15 jul 13 10:57 stderr → /proc/self/fd/2 lrwxrwxrwx 1 root root 15 jul 13 10:57 stdin → /proc/self/fd/0 lrwxrwxrwx 1 root root 15 jul 13 10:57 stdout → /proc/self/fd/1 crw-rw-rw- 1 root tty 5, 0 jul 13 11:01 tty crw–w---- 1 root tty 4, 0 jul 13 10:57 tty0 crw–w---- 1 gdm tty 4, 1 jul 13 10:57 tty1 crw–w---- 1 root tty 4, 10 jul 13 10:57 tty10 crw–w---- 1 root tty 4, 11 jul 13 10:57 tty11 crw–w---- 1 root tty 4, 12 jul 13 10:57 tty12 crw–w---- 1 root tty 4, 13 jul 13 10:57 tty13 crw–w---- 1 root tty 4, 14 jul 13 10:57 tty14 crw–w---- 1 root tty 4, 15 jul 13 10:57 tty15 crw–w---- 1 root tty 4, 16 jul 13 10:57 tty16 crw–w---- 1 root tty 4, 17 jul 13 10:57 tty17 crw–w---- 1 root tty 4, 18 jul 13 10:57 tty18 crw–w---- 1 root tty 4, 19 jul 13 10:57 tty19 crw–w---- 1 fseda tty 4, 2 jul 13 10:57 tty2 crw–w---- 1 root tty 4, 20 jul 13 10:57 tty20 crw–w---- 1 root tty 4, 21 jul 13 10:57 tty21 crw–w---- 1 root tty 4, 22 jul 13 10:57 tty22 crw–w---- 1 root tty 4, 23 jul 13 10:57 tty23 crw–w---- 1 root tty 4, 24 jul 13 10:57 tty24 crw–w---- 1 root tty 4, 25 jul 13 10:57 tty25 crw–w---- 1 root tty 4, 26 jul 13 10:57 tty26 crw–w---- 1 root tty 4, 27 jul 13 10:57 tty27 crw–w---- 1 root tty 4, 28 jul 13 10:57 tty28 crw–w---- 1 root tty 4, 29 jul 13 10:57 tty29 crw–w---- 1 root tty 4, 3 jul 13 10:57 tty3 crw–w---- 1 root tty 4, 30 jul 13 10:57 tty30 crw–w---- 1 root tty 4, 31 jul 13 10:57 tty31 crw–w---- 1 root tty 4, 32 jul 13 10:57 tty32 crw–w---- 1 root tty 4, 33 jul 13 10:57 tty33 crw–w---- 1 root tty 4, 34 jul 13 10:57 tty34 crw–w---- 1 root tty 4, 35 jul 13 10:57 tty35 crw–w---- 1 root tty 4, 36 jul 13 10:57 tty36 crw–w---- 1 root tty 4, 37 jul 13 10:57 tty37 crw–w---- 1 root tty 4, 38 jul 13 10:57 tty38 crw–w---- 1 root tty 4, 39 jul 13 10:57 tty39 crw–w---- 1 root tty 4, 4 jul 13 10:57 tty4 crw–w---- 1 root tty 4, 40 jul 13 10:57 tty40 crw–w---- 1 root tty 4, 41 jul 13 10:57 tty41 crw–w---- 1 root tty 4, 42 jul 13 10:57 tty42 crw–w---- 1 root tty 4, 43 jul 13 10:57 tty43 crw–w---- 1 root tty 4, 44 jul 13 10:57 tty44 crw–w---- 1 root tty 4, 45 jul 13 10:57 tty45 crw–w---- 1 root tty 4, 46 jul 13 10:57 tty46 crw–w---- 1 root tty 4, 47 jul 13 10:57 tty47 crw–w---- 1 root tty 4, 48 jul 13 10:57 tty48 crw–w---- 1 root tty 4, 49 jul 13 10:57 tty49 crw–w---- 1 root tty 4, 5 jul 13 10:57 tty5 crw–w---- 1 root tty 4, 50 jul 13 10:57 tty50 crw–w---- 1 root tty 4, 51 jul 13 10:57 tty51 crw–w---- 1 root tty 4, 52 jul 13 10:57 tty52 crw–w---- 1 root tty 4, 53 jul 13 10:57 tty53 crw–w---- 1 root tty 4, 54 jul 13 10:57 tty54 crw–w---- 1 root tty 4, 55 jul 13 10:57 tty55 crw–w---- 1 root tty 4, 56 jul 13 10:57 tty56 crw–w---- 1 root tty 4, 57 jul 13 10:57 tty57 crw–w---- 1 root tty 4, 58 jul 13 10:57 tty58 crw–w---- 1 root tty 4, 59 jul 13 10:57 tty59 crw–w---- 1 root tty 4, 6 jul 13 10:57 tty6 crw–w---- 1 root tty 4, 60 jul 13 10:57 tty60 crw–w---- 1 root tty 4, 61 jul 13 10:57 tty61 crw–w---- 1 root tty 4, 62 jul 13 10:57 tty62 crw–w---- 1 root tty 4, 63 jul 13 10:57 tty63 crw–w---- 1 root tty 4, 7 jul 13 10:57 tty7 crw–w---- 1 root tty 4, 8 jul 13 10:57 tty8 crw–w---- 1 root tty 4, 9 jul 13 10:57 tty9 crw------- 1 root root 5, 3 jul 13 10:57 ttyprintk crw-rw---- 1 root dialout 4, 64 jul 13 10:57 ttyS0 crw-rw---- 1 root dialout 4, 65 jul 13 10:57 ttyS1 crw-rw---- 1 root dialout 4, 74 jul 13 10:57 ttyS10 crw-rw---- 1 root dialout 4, 75 jul 13 10:57 ttyS11 crw-rw---- 1 root dialout 4, 76 jul 13 10:57 ttyS12 crw-rw---- 1 root dialout 4, 77 jul 13 10:57 ttyS13 crw-rw---- 1 root dialout 4, 78 jul 13 10:57 ttyS14 crw-rw---- 1 root dialout 4, 79 jul 13 10:57 ttyS15 crw-rw---- 1 root dialout 4, 80 jul 13 10:57 ttyS16 crw-rw---- 1 root dialout 4, 81 jul 13 10:57 ttyS17 crw-rw---- 1 root dialout 4, 82 jul 13 10:57 ttyS18 crw-rw---- 1 root dialout 4, 83 jul 13 10:57 ttyS19 crw-rw---- 1 root dialout 4, 66 jul 13 10:57 ttyS2 crw-rw---- 1 root dialout 4, 84 jul 13 10:57 ttyS20 crw-rw---- 1 root dialout 4, 85 jul 13 10:57 ttyS21 crw-rw---- 1 root dialout 4, 86 jul 13 10:57 ttyS22 crw-rw---- 1 root dialout 4, 87 jul 13 10:57 ttyS23 crw-rw---- 1 root dialout 4, 88 jul 13 10:57 ttyS24 crw-rw---- 1 root dialout 4, 89 jul 13 10:57 ttyS25 crw-rw---- 1 root dialout 4, 90 jul 13 10:57 ttyS26 crw-rw---- 1 root dialout 4, 91 jul 13 10:57 ttyS27 crw-rw---- 1 root dialout 4, 92 jul 13 10:57 ttyS28 crw-rw---- 1 root dialout 4, 93 jul 13 10:57 ttyS29 crw-rw---- 1 root dialout 4, 67 jul 13 10:57 ttyS3 crw-rw---- 1 root dialout 4, 94 jul 13 10:57 ttyS30 crw-rw---- 1 root dialout 4, 95 jul 13 10:57 ttyS31 crw-rw---- 1 root dialout 4, 68 jul 13 10:57 ttyS4 crw-rw---- 1 root dialout 4, 69 jul 13 10:57 ttyS5 crw-rw---- 1 root dialout 4, 70 jul 13 10:57 ttyS6 crw-rw---- 1 root dialout 4, 71 jul 13 10:57 ttyS7 crw-rw---- 1 root dialout 4, 72 jul 13 10:57 ttyS8 crw-rw---- 1 root dialout 4, 73 jul 13 10:57 ttyS9 crw-rw---- 1 root kvm 10, 60 jul 13 10:57 udmabuf crw------- 1 root root 10, 239 jul 13 10:57 uhid crw-rw----+ 1 root root 10, 223 jul 13 10:57 uinput crw-rw-rw- 1 root root 1, 9 jul 13 10:57 urandom drwxr-xr-x 2 root root 60 jul 13 10:57 usb crw------- 1 root root 10, 240 jul 13 10:57 userio drwxr-xr-x 4 root root 80 jul 13 10:57 v4l crw-rw---- 1 root tty 7, 0 jul 13 10:57 vcs crw-rw---- 1 root tty 7, 1 jul 13 10:57 vcs1 crw-rw---- 1 root tty 7, 2 jul 13 10:57 vcs2 crw-rw---- 1 root tty 7, 3 jul 13 10:57 vcs3 crw-rw---- 1 root tty 7, 4 jul 13 10:57 vcs4 crw-rw---- 1 root tty 7, 5 jul 13 10:57 vcs5 crw-rw---- 1 root tty 7, 6 jul 13 10:57 vcs6 crw-rw---- 1 root tty 7, 128 jul 13 10:57 vcsa crw-rw---- 1 root tty 7, 129 jul 13 10:57 vcsa1 crw-rw---- 1 root tty 7, 130 jul 13 10:57 vcsa2 crw-rw---- 1 root tty 7, 131 jul 13 10:57 vcsa3 crw-rw---- 1 root tty 7, 132 jul 13 10:57 vcsa4 crw-rw---- 1 root tty 7, 133 jul 13 10:57 vcsa5 crw-rw---- 1 root tty 7, 134 jul 13 10:57 vcsa6 crw-rw---- 1 root tty 7, 64 jul 13 10:57 vcsu crw-rw---- 1 root tty 7, 65 jul 13 10:57 vcsu1 crw-rw---- 1 root tty 7, 66 jul 13 10:57 vcsu2 crw-rw---- 1 root tty 7, 67 jul 13 10:57 vcsu3 crw-rw---- 1 root tty 7, 68 jul 13 10:57 vcsu4 crw-rw---- 1 root tty 7, 69 jul 13 10:57 vcsu5 crw-rw---- 1 root tty 7, 70 jul 13 10:57 vcsu6 drwxr-xr-x 2 root root 60 jul 13 10:57 vfio crw------- 1 root root 10, 63 jul 13 10:57 vga_arbiter crw------- 1 root root 10, 137 jul 13 10:57 vhci crw------- 1 root root 10, 238 jul 13 10:57 vhost-net crw------- 1 root root 10, 241 jul 13 10:57 vhost-vsock crw-rw----+ 1 root video 81, 0 jul 13 10:57 video0 crw-rw----+ 1 root video 81, 1 jul 13 10:57 video1 crw-rw-rw- 1 root root 1, 5 jul 13 10:57 zero crw------- 1 root root 10, 249 jul 13 10:57 zfs

Mmm, yeah I’m really confused how snap-confine is failing there. What’s the output from these commands:

journalctl -e --no-pager | grep DENIED
journalctl -e --no-pager -u snapd

8 loop devices looks suspicious, doesnt the kernel normally pre-init 255 of them by default ?

$ journalctl -e --no-pager | grep DENIED

has no output

$ journalctl -e --no-pager -u snapd

has a massive output (too long to post), here it is:

https://pastebin.com/9afqxHG1