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?
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)
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
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.