我有很多分区,loop
它们可能是由一个名为 snap 应用程序创建的Anbox,我不太关心lopp0
,但nautilus 中出现了loop4
名为的分区loop5
,该分区安装在/media/sumeet/disk
当我打开该分区时,我发现我没有权限打开其中的大多数文件夹。
输出lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 341.2M 0 loop /snap/anbox/16
loop1 7:1 0 4K 0 loop /snap/anbox-installer/11
loop2 7:2 0 4K 0 loop /snap/anbox-installer/12
loop3 7:3 0 78.4M 0 loop /snap/core/1577
loop4 7:4 0 79.5M 0 loop /snap/core/1689
loop5 7:5 0 310.8M 1 loop /media/sumeet/disk
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 7.6G 0 part [SWAP]
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 19.1G 0 part /
└─sda6 8:6 0 85.1G 0 part /home
sdb 8:16 0 1.8T 0 disk
├─sdb1 8:17 0 220G 0 part /media/sumeet/Stuff
├─sdb2 8:18 0 220G 0 part /media/sumeet/Movies
├─sdb3 8:19 0 710G 0 part /media/sumeet/Hollywood
└─sdb4 8:20 0 713G 0 part /media/sumeet/Series
输出ls /media/sumeet/disk
acct etc init.zygote32.rc selinux_version
anbox-init.sh file_contexts.bin init.zygote64_32.rc sepolicy
cache fstab.goldfish mnt service_contexts
charger init oem storage
config init.environ.rc proc sys
d init.goldfish.rc property_contexts system
data init.rc sbin ueventd.goldfish.rc
default.prop init.usb.configfs.rc sdcard ueventd.rc
dev init.usb.rc seapp_contexts vendor
我怎样才能loop5
在 Nautilus 中不被看到?
答案1
答案2
我正在使用 Ubuntu 16.04.3 LTS,
这是一次全新安装,所有更新均已完成,但由于某种原因,上述解决方案不起作用。
切换在用户界面中显示在磁盘应用程序中关闭不起作用,nautilus 仍然显示分区mount -a
,甚至重新启动后也是如此。
我通过添加修复了它x-gvfs-隐藏在/etc/fstab, 像这样
UUID=123-some-number-s /home/user/special ext4 defaults,x-gvfs-hide 0 0
此后,分区已正确安装但在 Nautilus 中被隐藏。
如果有更好的解决方案,请告诉我。
答案3
使用 losetup 进行分离
我的情况是:
现象
snapd 的 loopN 文件残留在
nautilus
左侧面板中
// 可能是意外disks
还显示那些 loopN 设备,并且它们被标记auto clean
// 它们可能自动清洁失败
丢失检查
$ losetup -l -a | grep del
/dev/loop8 0 0 1 1 /var/lib/snapd/snaps/core20_1242.snap (deleted) 0 512
/dev/loop25 0 0 1 1 /var/lib/snapd/snaps/snapd_14066.snap (deleted) 0 512
/dev/loop4 0 0 1 1 /var/lib/snapd/snaps/snapd_14549.snap (deleted) 0 512
断开分离
似乎它们是未使用的循环设备,并且备份文件已被删除。
尝试
losetup -v -d /dev/loop4
手动将其分离。//
它lazy device destruction
可能不会立即被破坏。
做一个reboot
,它们就消失了。
// 如果是快照循环,则直接重新启动而无需这些步骤,它也会消失..
一行命令
for i in $(losetup --list --all | awk '/.snap \(deleted\)/ {print $1}'); do sudo losetup --verbose --detach "$i"; done
答案4
注意:几天后我发现 yurenchen 的答案是有效的,你不需要重新启动,一些已删除的图像将被释放,并且不会再显示。因此,请根据你的需要混合搭配答案。
隐藏弹簧扣装置
/etc/fstab
您可以通过 Gnomes Disks 应用以同样的方式隐藏 Snapd 的循环设备。由于它们不是通过 UUID 识别的,如果您希望显示的设备没有显示,您有时需要手动编辑和清理条目。
- 转到磁盘应用程序(通过 Dash 或带有 gnome-disks 命令的终端)
- 选择你的分区(即 loop5)
- 点击小齿轮图标 齿轮图标
- 选择编辑安装选项
- 将用户界面中的显示切换为关闭,并另外添加
x-gvfs-hide
到安装选项。
这将在中创建以下条目/etc/fstab
:
/dev/loop5 /mnt/loop5 auto nosuid,nodev,nofail,x-gvfs-hide 0 0
如果你还有更多,你可能需要使用终端。我这样做了:
$ losetup --list --all | awk '/.snap \(deleted\)/ {print $1}' | sort
/dev/loop12
/dev/loop17
/dev/loop2
/dev/loop22
/dev/loop23
/dev/loop28
然后我用 vim 将以下条目添加到我的文件中fstab
,但您可以使用 nano:
# Snap
/dev/loop12 /mnt/loop12 auto nosuid,nodev,nofail,x-gvfs-hide 0 0
/dev/loop17 /mnt/loop17 auto nosuid,nodev,nofail,x-gvfs-hide 0 0
/dev/loop2 /mnt/loop2 auto nosuid,nodev,nofail,x-gvfs-hide 0 0
/dev/loop22 /mnt/loop22 auto nosuid,nodev,nofail,x-gvfs-hide 0 0
/dev/loop23 /mnt/loop23 auto nosuid,nodev,nofail,x-gvfs-hide 0 0
/dev/loop28 /mnt/loop28 auto nosuid,nodev,nofail,x-gvfs-hide 0 0
正如我所说,这可能会在将来产生一些副作用。因此请始终牢记这一点并记录您对配置文件所做的更改!
笔记
我倾向于比其他人运行某些机器更长时间并发现更多意外行为。
Snap 与 Ubuntu 紧密集成,因此我不同意删除它的想法,但为了进行一些故障排除,我不得不这样做,并且 APT 报告说,Snap 上仍然有一个锁定/var/snap
我使用这个命令检查了:
lsof 2>&1 | grep /var/snap | grep -v 'lsof: no pwd entry for UID'
然后我检查了进程(哇,没想到这么麻烦,不过这也解释了为什么有些应用程序运行起来很慢),然后决定终止进程。然后我在 /etc/fstab 中更新/添加了条目。
由于您最终参与了删除 Snap 的操作,并且忘记了删除了哪些软件包,因此您应该能够在这些文件中找到详细信息:
less +G /var/log/apt/history.log
less +G /var/log/apt/term.log
按q
关闭 的调用less
。如果是几天前,您也必须查看附加了附加编号的文件。在某个时候,这些日志会被轮换,信息会丢失。
好的,我想我已经把我想告诉你的事情都写下来了。