无法打开 snap 应用程序 — “无法执行操作:mount --rbind /dev /tmp/snap.rootfs_9Cf5Oo//dev:没有此文件或目录”

无法打开 snap 应用程序 — “无法执行操作:mount --rbind /dev /tmp/snap.rootfs_9Cf5Oo//dev:没有此文件或目录”

我无法使用任何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

解决方案:

  1. sudo unlink /var/snap
  2. sudo mkdir /var/snap
  3. sudo mount --bind /var_snap /var/snap- 检查 snap 应用程序是否在此之后启动
  4. 添加行到/etc/fstab
/var_snap /var/snap auto  defaults,nofail,nobootwait,bind 0 2
  1. 重启

相关内容