由于缺少文件,snap 无法使用

snap is unusable due to missing files

今天,我尝试开始 vscode。我在 dmenu 中输入 code,然后按回车键。什么都没发生。我又做了几次,仍然没有。现在我尝试在我的终端中打开它。 code。我得到一个错误:

/var/lib/snapd/snap/code/70/command-code.wrapper: line 2: /snap/code/70/electron-launch: No such file or directory

我尝试 sudo snap refresh 并希望最好。

error: cannot perform the following tasks:
- Mount snap "core" (11420) (snap is unusable due to missing files; contact developer)

我想我希望不够好。 我尝试重新安装 vscode:

sudo snap remove code
sudo snap install code

它卸载了 code,但是当我尝试重新安装它时,它向我显示了一个错误:

error: This revision of snap "code" was published using classic confinement and thus may perform
       arbitrary system changes outside of the security sandbox that snaps are usually confined to,
       which may put your system at risk.

       If you understand and want to proceed repeat the command including --classic.

谢天谢地,这并没有阻止我安装代码。

sudo snap install --classic code

这应该有效。

error: cannot install "code": classic confinement requires snaps under /snap or symlink from /snap
       to /var/lib/snapd/snap

没有。

我已经放弃了,有人可以帮我解决这个问题吗?

OS: Manjaro
Arch: x86_64
Kernel: 5.10.52-1-MANJARO

您是否尝试过创建本文中提到的符号链接?

error: cannot install "code": classic confinement requires snaps under /snap or symlink from /snap
   to /var/lib/snapd/snap

我刚刚在 manjaro 上也遇到了同样的问题,只需要创建符号链接然后像这样恢复包:

sudo ln -s /var/lib/snapd/snap /snap
snap revert code

来源:https://snapcraft.io/install/code/manjaro#snippet-distro-install-command-4

简答:由于版本不兼容,您可以尝试降级以下软件包(在 Fedora 34 上测试):

sudo dnf install squashfs-tools-4.4-5.git1.fc34

长答案:

好像是因为这个(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=993233),snapd不能用了。所以解决方法是降级 squashfs 包来解决问题。

如果有帮助,我尝试在 Fedora (https://snapcraft.io/install/pycharm-professional/fedora#install) 上安装 pycharm,但由于该错误而出现错误。