| 会员登录 立即注册

打印 上一主题 下一主题

如何在 Linux 中清理 Snap 包的版本

[复制链接]
跳转到指定楼层
楼主
3AAA 发表于 2022-3-19 07:29:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
楼主
3AAA
2022-3-19 07:29:08 4777 2 看楼主


Snap 软件包并不是每个人都喜欢的,但它们是 Ubuntu 生态系统中不可或缺的一部分。

它有其优点和缺点。其中一个缺点是,Snap 包通常体积较大,占用大量的磁盘空间。如果你的磁盘空间不够用,特别是在根分区上,这可能是一个问题。

让我分享一个巧妙的技巧,你可以用它来减少 Snap 包使用的磁盘空间。

清理旧的 Snap 包版本以释放磁盘空间


与 snap 有关的系统文件都存放在 /var/lib/snapd目录下。根据你所安装的 Snap 包的数量,这个目录的大小可能在几 GB。不要只听我的一面之词。通过使用 du 命令检查目录大小来进行评估。
$ sudo du -sh /var/lib/snapd5.4G    /var/lib/snapd
你也可以使用磁盘使用分析器这个 GUI 工具来查看 Ubuntu 的磁盘使用情况。



这可真够多的,对吧?你可以在这里腾出一些磁盘空间。根据设计,Snap 至少会在你的系统上保留一个你所安装的软件包的旧版本。你可以通过使用 Snap 命令看到这种行为:
snap list --all
你应该看到同一个软件包被列了两次,而且版本和修订号都不同。



为了释放磁盘空间,你可以删除额外的软件包版本。你怎么知道要删除哪一个呢?你可以看到,这些较旧的软件包被标记为“禁用”。

不要担心。你不需要手动操作。由于 Alan Pope 在 Snapcraft团队工作时写的一个灵巧的 bash 脚本,有一种自动的方法可以做到。

我希望你知道 如何创建和运行 bash shell 脚本。基本上,创建一个名为clean-snap.sh的新文件,并在其中添加以下几行。
#!/bin/bash# Removes old revisions of snaps# CLOSE ALL SNAPS BEFORE RUNNING THISset -eusnap list --all | awk '/disabled/{print $1, $3}' |    while read snapname revision; do        snap remove "$snapname" --revision="$revision"    done
保存它并关闭编辑器。要运行这个脚本,把它放在你的主目录中,然后 在 Ubuntu 中打开终端,运行这个命令:
sudo bash clean-snap.sh
你可以看到,它开始删除旧版本的软件包。



如果你现在检查 Snap 使用的磁盘空间,你会发现现在的目录大小已经减少了。
$ sudo du -sh /var/lib/snapd3.9G    /var/lib/snapd
如果这对你有用,你可以偶尔运行这个命令。

这个脚本是如何工作的?


如果你对这个脚本的作用感到好奇,让我来解释一下。

你已经看到了 snap list -all命令的输出。它的输出被传递给awk 命令。Awk 是一个强大的脚本工具。

awk '/disabled/{print $1, $3}'部分在每一行中寻找字符串disabled,如果找到它,它将提取第一列和第三列。

这个输出被进一步传递给 while和read命令的组合。读取命令获取第一列的 Snap 包名和第三列的修订号变量。

然后,这些变量被用来运行 snap remove命令,用 Snap 包名和它的修订号来删除。

只要发现有包含 disabled字符串的行,就会运行while循环。

如果你对 shell 脚本略知一二,这一切就很容易理解了。如果你不熟悉,我们有一个 初学者的 bash 教程系列给你。

你拿回了你的空间了吗?


你可能会看到一些论坛建议将 Snap 软件包的保留值设置为 2。
sudo snap set system refresh.retain=2
我认为现在不需要了。现在 Snap 的默认行为是为任何软件包保存两个版本。

总而言之,如果你的空间不够用,摆脱额外的软件包版本肯定是 释放 Ubuntu 磁盘空间的方法之一。

如果这个教程帮助你释放了一些空间,请在评论区告诉我。

via: https://itsfoss.com/clean-snap-packages/

作者:Abhishek Prakash选题:lujun9972译者:geekpi校对:wxy

本文由 LCTT原创编译,Linux中国荣誉推出
回复

使用道具 举报

板凳
XUBOTIAN 发表于 2022-3-19 07:32:36 | 只看该作者
板凳
XUBOTIAN
2022-3-19 07:32:36 看楼主
转发了
回复 支持 反对

使用道具 举报

沙发
操SI那群耸领导 发表于 2022-3-19 07:30:36 | 只看该作者
转发了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表

3AAA 当前离线
白银会员

查看:4777 | 回复:2

关于我们  |   侵权投诉受理  |   联系我们  |   Archiver  |  
免责声明:邳州信息网所有言论只代表发表者个人观点,与本站无关
Copyright © 2009-2025 pzxxw.com 版权所有:邳州金银杏文化传媒有限公司  

苏公网安备 32038202000401号

快速回复 返回顶部 返回列表