我正在尝试分离环回设备。
推测losetup --detach
可能成功(没有错误消息和返回代码 0),但设备仍然存在。
有任何想法吗?
root@Cassiopeia:~# losetup -a
/dev/loop1: [2053]:5243868 (/var/lib/snapd/snaps/core_6034.snap)
/dev/loop6: [2053]:19401380 (/tmp/imagefile)
/dev/loop4: [2053]:5249290 (/var/lib/snapd/snaps/canonical-livepatch_49.snap)
/dev/loop2: [2053]:5243293 (/var/lib/snapd/snaps/canonical-livepatch_50.snap)
/dev/loop0: [2053]:5249134 (/var/lib/snapd/snaps/core_5897.snap)
/dev/loop5: [2053]:5249130 (/var/lib/snapd/snaps/core_6130.snap)
/dev/loop3: [2053]:5244442 (/var/lib/snapd/snaps/canonical-livepatch_54.snap)
root@Cassiopeia:~# losetup --detach /dev/loop6
root@Cassiopeia:~# echo $?
0
root@Cassiopeia:~# losetup -a
/dev/loop1: [2053]:5243868 (/var/lib/snapd/snaps/core_6034.snap)
/dev/loop6: [2053]:19401380 (/tmp/imagefile)
/dev/loop4: [2053]:5249290 (/var/lib/snapd/snaps/canonical-livepatch_49.snap)
/dev/loop2: [2053]:5243293 (/var/lib/snapd/snaps/canonical-livepatch_50.snap)
/dev/loop0: [2053]:5249134 (/var/lib/snapd/snaps/core_5897.snap)
/dev/loop5: [2053]:5249130 (/var/lib/snapd/snaps/core_6130.snap)
/dev/loop3: [2053]:5244442 (/var/lib/snapd/snaps/canonical-livepatch_54.snap)
答案1
我知道它很旧,但我刚刚遇到了类似的问题。
之所以如此,是因为设备仍然处于打开状态,因此不必安装它。尝试 lsof 和类似的命令来查找它是什么。
在我的情况下,它被分开挂在另一个终端上;)
答案2
不久前我也遇到过这种情况,并注意到这种情况可以通过多种方式发生:
如果您通过某个终端访问了其中一个目录(例如,使用过
cd
并且您没有关闭所述终端或者您仍在这些目录中)如果其他进程/命令正在使用已安装的循环设备/目录。
基于这回答,您可以使用:
fuser -c /dev/loop0
fuser -d /dev/loop0
fuser -f /dev/loop0
获取所有必要的信息,例如PID等。
然后您可以使用fuse -k
或者kill -9
如果您真的必须,但要知道像这样强制终止进程可能是一个坏主意。
如果你想尝试优雅地 kill
它,(比如说,如果您不知道如何访问使用安装/循环设备的进程):
kill PID
应该管用。
最后,鉴于这是关于snap
(基于您帖子的输出)您大概不应尝试删除或卸载它们,除非您想完全卸载快照或删除单个快照包。