清理 Snaps

Last Modified: 2022/12/16

起因

今天我的 ubuntu 系统,系统提示磁盘空间不足,经过一番折腾发现 /var/lib/snapd/snaps 目录占用了很多空间,于是寻找怎么安全的删除这个目录下面的东西。首先我们可以通过 snap list --all 查看当前系统中所有的 snaps:

bare     1.0         5      latest/stable  canonical✓  base
core18   20221103    2632   latest/stable  canonical✓  base,disabled
core18   20221205    2654   latest/stable  canonical✓  base
core20   20221027    1695   latest/stable  canonical✓  base,disabled
...

解决方法

从上面的输出可以看出,有些行中包含 disabled 字样,例如上面的第二行,这些便是当前未使用,可以安全删除的 snap。为了删除所有未使用的 snap,我们可以编写一个小脚本 snap-clean.sh,在脚本中粘贴以下内容:

#!/bin/sh
LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' |
while read pkg revision; do
  sudo snap remove "$pkg" --revision="$revision"
done

然后我们赋予脚本执行权限,最后执行脚本即可:

# 赋予脚本执行权限
chmod u+x ./snap-clean.sh
# 执行清理脚本
./snap-clean.sh

另外 /var/lib/snapd/cache 目录下面的内容也是可以安全删除的,可以运行以下命令清理缓存文件:

sudo bash -c 'rm /var/lib/snapd/cache/*'
有问题吗?点此反馈!

温馨提示:反馈需要登录