

如何清理 Snap 保留的旧软件包以释放磁盘空间
source link: https://os.51cto.com/article/715769.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

如何清理 Snap 保留的旧软件包以释放磁盘空间-51CTO.COM

我的 Ubuntu 测试系统中出现磁盘空间不足。因此,我通过 GNOME 的磁盘使用分析器进行调查,以找出哪个软件包正在消耗宝贵的 SSD 空间。除了通常的缓存和主目录,令我惊讶的是,我发现 Snap 和 Flatpak 消耗了大量的存储空间。

Snap size – before cleanup
我始终坚持一个规则:除非必要,否则不要使用 Snap 或 Flatpak。这主要是因为它们的安装大小和一些其他问题。我更喜欢原生 deb 和 rpm 包。多年来,我在这个测试系统中安装和移除了一些 Snap 包。
问题出现在卸载后。Snap 在系统中保留了一些残留文件,而一般用户不知道。
所以我打开了 Snap 文件夹 /var/lib/snapd/snaps,发现 Snap 会保留以前安装/卸载的软件包的旧版本。
例如,在下图中,你可以看到 GNOME 3.28、3.34 和 Wine 这些都被删除了。但它们还在那里。这是因为 Snap 设计上在正确卸载后保留已卸载软件包的版本。

Files under snaps directory
或者,你可以在终端中使用:

snap list all
对于保留的版本数量,默认值为 3。这意味着 Snap 会保留每个软件包的 3 个旧版本,包括当前安装版本。如果你对磁盘空间没有限制,这是可以的。
但是对于服务器和其他场景,这很容易遇到成本问题,消耗你的磁盘空间。
不过,你可以使用以下命令轻松修改计数。该值可以在 2 到 20 之间。
sudo snap set system refresh.retain=2
清理 Snap 版本
在 SuperUser 的一篇文章中,Canonical 的前工程经理 Popey 提供了一个简单的脚本 可以清理旧的 Snap 版本并保留最新版本。
这是我们将用来清理 Snap 的脚本。
#!/bin/bash
#Removes old revisions of snaps
#CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
snap remove "$snapname" --revision="$revision"
done
将上述脚本以 .sh 格式保存在目录中(例如 clean_snap.sh),赋予其可执行权限并运行。
chmod +x clean_snap.sh
当我运行脚本时,它减少了很多磁盘空间。该脚本还将显示要删除的包的名称。

Executing the script

Snaps size after cleanup
关于 Snap 的设计效率如何,人们总是争论不休。许多人说,它的设计是糟糕的,是臃肿的,且消耗系统资源。该论点的某些部分是正确的,我不会否认。如果正确实施和增强,沙盒应用的整个概念就很棒。我相信,与 Snap 相比,Flatpak 做得更好。
也就是说,我希望这可以帮助你清理一些磁盘空间。尽管它只在 Ubuntu 中进行了测试,但它应该适用于所有支持 Snap 的 Linux 发行版。
Recommend
-
37
Windows 2008添加磁盘清理工具的方法 2019-11-16 23:11:58 | 作者: 月光 | 分类:
-
12
-
12
CentOS-7如何释放主机根分区的磁盘空间 |坐而言不如起而行! 二丫讲梵 > 迎刃而解 > CentOS-7如何释放主机根分区的磁盘空间 本文预计阅读时间 2 分...
-
3
百万周下载量 node-ipc 包以反战为名进行供应链投毒-51CTO.COM 百万周下载量 node-ipc 包以反战为名进行供应链投毒 作者:罗奇奇 2022-03-17 10:38:09 vue-cli 的依赖项 node-ipc 包正在以反战为...
-
9
如何看待 node-ipc 包以反战为名进行供应链投毒?相关 Issue: https://github.com/RIAEvangelist/node-ipc/issues/233 https://gith…
-
8
如何清理 Snap 版本以释放磁盘空间 作者:Arindam 2022-11-06 19:34:53 这个带有脚本的快速指南有助于清理旧的 Snap 版本并释放 Ubuntu 系统中的一些磁盘空间。
-
9
2022-11-12 07:31 FTX US 总法律顾问:FTX 将剩余资金转移到冷钱包以减轻损失 DeFi 之道讯,11 月 12 日,FTX US 总法律顾问 Ryne Miller 发推称,在第 11 章破产申请之后,FTX US 和 FTX 启动了预防措施,将所有数字资产转移到冷...
-
3
NTFS 压缩是一个非常有用的功能,可节省 Windows 磁盘空间。该选项可以在驱动器「属性」的「...
-
6
全民反诈宣传月,微博钱包以实际行动保护用户“钱包”安全 2023-06-20 16:58:13 作者:佳怡 来源:柒闻网 近日,中央宣传部、公安部联合...
-
11
V2EX › 程序员 分享:类 unix 系统如何清理磁盘空间,以及 Mac 的磁盘空间是如何分配的?
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK