从 Ubuntu 18.04 开始,运行lsblk
显示 16 个 snap 循环(每个 snap 2-3 次)。问题是,为什么它们被列为 lsblk、fdisf-l 和 blkid 的结果?
它从我需要查看的实际磁盘驱动器分区(即 /dev/ 分区)中产生了很多混乱。我知道这个问题的据称重复存在,但它只询问为什么每个 snap 列出三个循环。我想知道为什么首先列出这些快照,而所谓的重复并没有回答这个问题(也许那些将其标记为重复的人可以通过解释为什么它是重复的来帮助我)。从技术上讲,它们有资格作为文件系统(我既没有创建也没有要求),但是它们妨碍了我感兴趣的 /dev/ 分区的信息输出。当 fdisk -l 输出三个page+ 列表主要填充了快照。
最近(1 周大)Ubuntu 安装的输出,我没有安装任何快照:
$ 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
Run Code Online (Sandbox Code Playgroud)
(以上文字的补充屏幕截图):
screenshot.jpg
我的snap list
显示 6 个结果:
核心
gnome-3-26-1604
gnome-calculator
gnome-characters
gnome-logs
gnome-system-monitor
同时,gnome-disk-utility 根本不显示快照,只显示我的硬盘和光驱。
如果每个已安装的 snap 都被列为块设备(每个要添加 2-3 次),那么效率不会很高。我应该期待未来的更新来解决这个问题吗?
编辑:
fdisk-l
还列出了一个很长的列表,其中包含 16 个这些“磁盘循环”的实例(磁盘 /dev/loop0、磁盘 /dev/loop1 等,每个都有详细信息,我不会在此处显示,因为它太长了)。这不可能是有意的行为,是吗?
blkid
还列出了 16 个循环,如 TYPE="squashfs"。至少parted -l
按预期工作,只显示我的实际磁盘分区。
我刚刚对此进行了测试,安装更多快照确实会为 lsblk 输出添加更多内容。因此,根据可用和已安装的快照数量,fdisk、lsblk、blkid 可能具有潜在的巨大输出列表。
abu*_*bua 18
当你输入命令
snap list
Run Code Online (Sandbox Code Playgroud)
您将获得实际安装的 snap 包的输出。原因是当 snap 包更新时,旧版本被保留(参见 snapcraft 文档)。
引用来自 snapcraft 文档
对于刚刚更新的快照版本之前的快照版本,垃圾收集然后删除并清除所有快照文件及其可写区域——这意味着系统上最多会出现两个版本的快照。这可以节省磁盘空间,而不会影响将快照恢复到先前已知良好状态的能力。
明确地从系统中删除快照也将删除代码并清除所有先前版本的数据。
例如,您已经安装了多个版本的gnome-calculator。
如果您只需要最新版本,您可以使用
sudo snap remove gnome-calculator --revision <verison to be placed>
Run Code Online (Sandbox Code Playgroud)
使用命令
losetup -a
Run Code Online (Sandbox Code Playgroud)
向您展示已安装的快照(循环设备)
如果要删除双数,请键入
sudo losetup -d /dev/loop<loopnumber>
Run Code Online (Sandbox Code Playgroud)
这似乎是 snap 代码的错误,因为所有旧的都保存在 /var/lib/snapd/snaps 文件中。
L. *_*mes 14
从您问题中的内容来看,您的问题在于寻找一种方法来控制您在尝试查看块设备时所看到的内容,而不是 snap 如何使用块设备进行操作。
我同意你提到的fdisk -l
和之间的区别parted -l
。虽然fdisk显示了非常好的块设备详细输出,但它显示了太多其他东西,这些东西会分散您的注意力。
解析度
您可以使用过滤lsblk格式的输出。这可以很好地提供干净的输出,就像您使用gnome-disk-utility 获得的一样。
$ lsblk -o name,mountpoint,label,size,fstype,uuid | egrep -v "^loop"
Run Code Online (Sandbox Code Playgroud)
或者正如您在问题中指出的那样:
$ sudo parted -l
Run Code Online (Sandbox Code Playgroud)
对于df
您问题中的命令,请使用:
$ df | egrep -v /dev/loop
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30089 次 |
最近记录: |