为什么所有快照都被安装并列为Ubuntu 18.04的块设备或分区?

从Ubuntu 18.04开始,运行lsblk显示16个快照循环(每次快照2-3次)。 问题是,为什么它们被列为lsblk,fdisf-l和blkid的结果?

它从我需要看到的实际磁盘驱动器分区,即/ dev / partitions创建了很多混乱。 我知道存在这个问题的声称副本,但它只询问为什么每个按钮列出三个循环。 我想知道为什么这些快照首先被列出,并且声称的副本没有回答这个问题(也许那些标记为重复的那些可以帮助我解释为什么它是重复的)。 从技术上讲,它们有资格作为文件系统(我既没有创建也没有要求),但它们阻碍了我感兴趣的/ dev /分区的信息输出。当fdisk -l输出三个时,这就变成了一个问题页面+列表主要用快照填充。

最近(1周龄)Ubuntu安装的输出,我还没有安装任何快照:

 faggotface@bitchwoman:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 14.5M 1 loop /snap/gnome-logs/37 loop1 7:1 0 2.3M 1 loop /snap/gnome-calculator/170 loop2 7:2 0 86.6M 1 loop /snap/core/4486 loop3 7:3 0 86.6M 1 loop /snap/core/4650 loop4 7:4 0 1.6M 1 loop /snap/gnome-calculator/154 loop5 7:5 0 14.5M 1 loop /snap/gnome-logs/34 loop6 7:6 0 3.3M 1 loop /snap/gnome-system-monitor/36 loop7 7:7 0 2.3M 1 loop /snap/gnome-calculator/178 loop8 7:8 0 13M 1 loop /snap/gnome-characters/101 loop9 7:9 0 3.7M 1 loop /snap/gnome-system-monitor/45 loop10 7:10 0 139.5M 1 loop /snap/gnome-3-26-1604/64 loop11 7:11 0 140M 1 loop /snap/gnome-3-26-1604/59 loop12 7:12 0 3.7M 1 loop /snap/gnome-system-monitor/41 loop13 7:13 0 21M 1 loop /snap/gnome-logs/25 loop14 7:14 0 12.2M 1 loop /snap/gnome-characters/69 loop15 7:15 0 13M 1 loop /snap/gnome-characters/96 sda 8:0 0 298.1G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi └─sda2 8:2 0 297.6G 0 part / sr0 11:0 1 1024M 0 rom 

(上述文字的补充屏幕截图):
screenshot.jpg

我的snap list显示了6个结果:

核心
GNOME的1604年3月26日
GNOME计算器
GNOME字符
GNOME的日志
GNOME系统监测

同时,gnome-disk-utility对于快照只显示任何内容,只显示我的硬盘和光驱。

如果每个已安装的快照都被列为块设备(每次添加2-3次),效率将不会很高。 我是否应该期待未来的更新来解决这个问题?

编辑:
fdisk-l还会转出一个很长的列表,其中包含16个这些“磁盘循环”的实例(磁盘/ dev / loop0,磁盘/ dev / loop1等,每个都有详细信息,我不会在这里显示,因为它太长了) 。 这不是预期的行为,可以吗?
blkid还列出了16个循环,TYPE =“squashfs”。 至少parted -l按预期工作,只有我的实际磁盘分区。

我刚刚对此进行了测试,安装更多快照确实为lsblk输出添加了更多function。 因此,fdisk,lsblk,blkid可能具有潜在的巨大输出列表,根据可用的快照数量和安装。

键入命令时

 snap list 

您将获得实际安装的快照包的输出。 原因是当更新快照包时,保留旧版本(请参阅snapcraft文档) 。

来自snapcraft的Citate纪录片

垃圾收集然后删除和清除任何快照文件及其可写区域,用于刚刚更新的快照版本之前的快照版本 – 这意味着系统上最多会有两个版本的快照。 这样可以节省磁盘空间,而不会影响将快照恢复到先前已知良好状态的能力。

从系统中明确删除快照也将删除代码并清除所有先前版本的数据。

例如,你已经安装了多个版本的gnome-calculator

如果您只需要最新版本,则可以使用

 sudo snap remove gnome-calculator --revision  

使用命令

 losetup -a 

显示已安装的快照(循环设备)

如果要删除双精度数,请键入

 sudo losetup -d /dev/loop 

这似乎是快照代码的错误,因为所有旧代都保存在/ var / lib / snapd / snaps文件中。

从您问题中的内容来看,您的问题是如何在尝试查看块设备时搜索控制您所看到内容的方法,而不是使用块设备进行操作的方式。

我同意你在fdisk -lparted -l之间的区别。 虽然fdisk显示了一个非常好的块设备的详细输出,但它显示了太多其他东西,分散了你想要看到的东西。

解析度

您可以使用过滤lsblk格式的输出。 这样可以很好地提供像gnome-disk-utility那样的清晰输出。

 $ lsblk -o name,mountpoint,label,size,fstype,uuid | egrep -v "^loop" 

或者正如您在问题中指出的那样:

 $ sudo parted -l 

对于问题中的df命令,请使用:

 $ df | egrep -v /dev/loop 

如果您使用系统监视器的快照版本,那么您将看到snap使用的所有文件系统以及您使用的文件系统。

一个简单的“修复”是从app store卸载Gnome系统监视器。 这是快照版。

然后使用Synaptic包管理器从普通存储库安装Gnome System Monitor。 这是正常版本,在您的根分区上安装了一堆文件。 太好了!

当你启动Gnome System Monitor时,你会看到你期望看到的……