Issues with snapd on black arch

hi, ive been fighting with my system tried everything i could find online to no avail. i been trying to install snaps on arch (blackarch actually) but either way its not working. ive edited my grub command line with security apparmor or whatever dont remember what exactly it was. tried every systemctl restart reload reboot etc. and i keep getting this message no matter what error: cannot perform the following tasks:

  • Mount snap “snapd” (20671) (systemctl command [reload-or-restart snap-snapd-20671.mount] failed with exit status 1: stderr: Warning: The unit file, source configuration file or drop-ins of snap-snapd-20671.mount changed on disk. Run ‘systemctl daemon-reload’ to reload units.

what should i do. ???

edit:: also i get this

systemctl status snap-snapd-20671.mount × snap-snapd-20671.mount Loaded: not-found (Reason: Unit snap-snapd-20671.mount not found.) Active: failed (Result: resources)

Feb 25 22:13:02 laptop systemd[1]: snap-snapd-20671.mount: Mount path /snap/snapd/20671 is not canonical (contains a symlink). Feb 25 22:13:02 laptop systemd[1]: snap-snapd-20671.mount: Failed with result ‘resources’. Feb 25 22:13:02 laptop systemd[1]: Failed to mount Mount unit for snapd, revision 20671. Feb 25 22:13:45 laptop systemd[1]: snap-snapd-20671.mount: Mount path /snap/snapd/20671 is not canonical (contains a symlink). Feb 25 22:13:45 laptop systemd[1]: snap-snapd-20671.mount: Failed with result ‘resources’. Feb 25 22:13:45 laptop systemd[1]: Failed to mount Mount unit for snapd, revision 20671. Feb 25 22:14:25 laptop systemd[1]: snap-snapd-20671.mount: Mount path /snap/snapd/20671 is not canonical (contains a symlink). Feb 25 22:14:25 laptop systemd[1]: snap-snapd-20671.mount: Failed with result ‘resources’. Feb 25 22:14:25 laptop systemd[1]: Failed to mount Mount unit for snapd, revision 20671.

The snap mount point on Arch (like on Fedora and a bunch of other distros) is under /var/lib/snapd/snap, hence all mount units have names that match this pattern var-lib-snapd-snap-*.mount. In your case they are mount point is clearly expected to be located elsewhere, so I’m guessing the distribution has not been identified as Arch. Can you paste the content of /etc/os-release?

theres nothing

cat /etc/arch-release [ laptop /etc ]$ ls /etc/arch-release /etc/arch-release [ laptop /etc ]$ ls -l /etc/arch-release -rw-r–r-- 1 root root 0 Jan 19 12:10 /etc/arch-release

but here var/lib/snapd

ls /var/lib/snapd apparmor cache dbus-1 device hostfs lib mount snap state.json system-key assertions cookie desktop features inhibit maintenance.json seccomp snaps state.lock void

and heres something weird

ls /var/lib/snapd/snap/ bin README snap

but if i keep going in that directory cd snap it becomes

laptop /var/lib/snapd ]$ cd snap [ laptop /var/lib/snapd/snap ]$ cd snap [ laptop /var/lib/snapd/snap/snap ]$

and every snap folder has a bin folder readme and snap folder. bin folder is empty in every snap folder. so basically snapd folder is populated but snap folder inside snapd just has empty folders. its like everytime i attempted to install a snap and it failed it created a snap folder with bin and snap every time. there isnt that many right now because i deleted a bunch of snap folders but at some point i had /var/lib/snapd/snap/snap/snap… like 10 of them

is there any way to fix this? theres a mount folder in snapd but its empty

That can not be, the file /etc/os-release is part of systemd, is installed alongside with it and is actually a hard requirement for it to even be functional … (not sure what /etc/arch-release should be, might be something internally used by arch, but this is surely irrelevant for snap support)

https://0pointer.de/blog/projects/os-release.html

Since this file is guaranteed to be there on all systems using systemd (which is a hard requirement for snaps to be functional at all), snapd relies on its existence and will likely mis-behave when it isnt there.

Make sure this file exists in the first place, any other issues you list above are most likely just fallout of the /etc/os-release file missing… please check your systemd installation on the machine

I asked for /etc/os-release.

im so sorry i thought it was a folder

NAME=“BlackArch Linux” ID=blackarch PRETTY_NAME=“BlackArch Linux” ANSI_COLOR=“0;34” HOME_URL=“(https://www.blackarch.org/)” SUPPORT_URL=“” BUG_REPORT_URL=“”

sorry i put “” on the other urls because it said i can only post one link in a post

IMAGE_ID=blackarch-linux-slim IMAGE_VERSION=2023.05.01

Thanks, that explains why things don’t work. Snapd will not be able to identify this distribution as Arch and things will not work out of the box. I think that you should file a bug for Black Arch maintainers and ask them to fill os-release with meaningful information. Some reference is provided in the man pages, eg. https://man.archlinux.org/man/os-release.5 To be at least marginally useful to any software which may consult /etc/os-release, ID or ID_LIKE are the least that’s needed.