在 Ubuntu 20.04 中从 /var/lib/snapd/snaps/ 删除文件是否安全?

在 Ubuntu 20.04 中从 /var/lib/snapd/snaps/ 删除文件是否安全?

在我的虚拟机上,大量空间被占用/var/lib/snapd/snaps/

-rw------- 1 root root      4096 mar 16  2023 bare_5.snap
-rw------- 1 root root  66547712 sie 23 19:41 core20_2015.snap
-rw------- 1 root root  67014656 sty 15 18:15 core20_2105.snap
-rw------- 1 root root  77713408 sty 15 18:15 core22_1033.snap
-rw------- 1 root root  77492224 sie 30 00:33 core22_864.snap
-rw------- 1 root root 366682112 sie 23 19:42 gnome-3-38-2004_143.snap
-rw------- 1 root root 509100032 sie 23 04:31 gnome-42-2204_126.snap
-rw------- 1 root root 521121792 sty 15 18:16 gnome-42-2204_141.snap
-rw------- 1 root root  96141312 mar 16  2023 gtk-common-themes_1535.snap
drwxr-xr-x 2 root root      4096 gru  1  2022 partial
-rw------- 1 root root  42827776 wrz 19 07:38 snapd_20092.snap
-rw------- 1 root root  42393600 sty 15 18:15 snapd_20671.snap
-rw------- 1 root root  12922880 maj 25  2023 snap-store_959.snap

其中很多看起来像重复的(core20_2015core20_2105core22_1033core22_864

snap help snap help --all snap help --all|grep temp snap help --all|grep clean未能揭示解决方案。

是否有一些适当的方法来删除这些明显的重复项?

遗憾的是,在这种情况下,完全摆脱快照是不可行的,因为 VM 应该镜像生产(并且需要做比清除快照感染更重要的事情)。

snap --version
snap    2.61.1
snapd   2.61.1
series  16
ubuntu  20.04
kernel  5.15.0-84-generic

答案1

snapd 默认为每个 snap 保留两个版本,当前版本和前一个版本。这可以不是减少,最低限度是两个(但如果需要,可以增加)。

core20_xxx并且core22_xxx不是重复,但两个核心系统不同。snap 可以针对两个核心版本构建,这取决于 snap 的提供者。只有当您确定没有安装的 snap 依赖此核心版本时,删除其中一个核心版本才是安全的。

snap 应该绝不可以手动删除,但总是使用 snap 命令行界面使用sudo snap remove name_of_the_snap

Ubuntu 作为操作系统不依赖 snap,至少不依赖目前支持的版本(20.04 LTS、22.04 LTS、23.10)。因此,您可以使用上述命令删除所有 snap,然后删除正在运行的 snapd 包sudo apt purge snapd

相关内容