我无法使用任何snap
应用程序。每次我尝试打开一个应用程序时都会出现上述错误。
$ discord
cannot perform operation: mount --rbind /dev /tmp/snap.rootfs_yoTt35//dev: No such file or directory
这是在我的 Ubuntu 启动进入 (initramfs) busybox 提示符后发生的,需要我手动运行该fsck
命令。
我正在运行 Ubuntu 18.04,snap
$ snap version
snap 2.43.3
snapd 2.43.3
series 16
ubuntu 18.04
kernel 4.15.0-91-generic
我尝试删除并重新安装 GIMP,但现在无法重新安装。它在运行安装钩子时出现错误。
$ sudo snap install gimp
error: cannot perform the following tasks:
- Run install hook of "gimp" snap if present (run hook "install": cannot perform operation: mount --rbind /dev /tmp/snap.rootfs_1w00X1//dev: No such file or directory)
因此我无法使用任何 snap 包。如能得到任何帮助,我将不胜感激。谢谢!
答案1
我为这个问题苦苦挣扎了很长时间,最后终于解决了。这个问题是由于我自己的设置造成的,所以它可能不适用于你的情况,但也许它会为你指明正确的方向。
问题似乎在于 snap 不喜欢将不同的东西符号链接到不同的设备。
就我的情况而言,问题在于我的/var
分区实际上是 的符号链接。我在 中设置/mnt/var
了正确的挂载点,但 fstab 当然也遵循了符号链接,并将设备挂载到。/var
/etc/fstab
/mnt
对我来说,解决方案就是用 重命名符号链接sudo mv /var /var.BAK
,用 创建一个空的挂载点,然后sudo mkdir /var
重新启动。/etc/fstab
现在将设备直接挂载到/var
,并且 snap 可以很好地工作。
因此,请尝试ls -l /
检查var
是目录而不是符号链接(例如var -> /mnt/var
)。还要检查 snap 可能使用的其他目录(例如 、/tmp
、)是真实目录而不是符号链接。/var/tmp
/var/snap
答案2
我的问题是cannot perform operation: mount --rbind /var/snap /tmp/snap.rootfs_7keS1C//var/snap: Permission denied
ln -s
由于分区空间不足,我已将 /var_snap 链接到 /var/snap(用 制作) /var
。
解决方案:
sudo unlink /var/snap
sudo mkdir /var/snap
sudo mount --bind /var_snap /var/snap
- 检查 snap 应用程序是否在此之后启动- 添加行到
/etc/fstab
:
/var_snap /var/snap auto defaults,nofail,nobootwait,bind 0 2
- 重启