linux磁盘空间清理

查看磁盘使用情况

查看磁盘分区上可以使用的磁盘空间

$ df -h

linux磁盘空间清理_第1张图片
若要查看文件类型和block,使用下面的命令

$ df -T

linux磁盘空间清理_第2张图片
查看每个文件和目录的磁盘使用空间,也就是文件的大小。

$ sudo du -sh /*
$ sudo du -h --max-depth=1 /

linux磁盘空间清理_第3张图片

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

与 snap 有关的系统文件都存放在 /var/lib/snapd 目录下。根据你所安装的 Snap 包的数量,这个目录的大小可能在几 GB。通过 使用 du 命令检查目录大小来进行评估。

$ sudo du -sh /var/lib/snapd
5.4G    /var/lib/snapd

你可以在这里腾出一些磁盘空间。根据设计,Snap 至少会在你的系统上保留一个你所安装的软件包的旧版本。你可以通过使用 Snap 命令看到这种行为:

$ snap list --all

你应该看到同一个软件包被列了两次,而且版本和修订号都不同。
linux磁盘空间清理_第4张图片
为了释放磁盘空间,你可以删除额外的软件包版本。你怎么知道要删除哪一个呢?你可以看到,这些较旧的软件包被标记为“禁用”。你不需要手动操作。由于 Alan Pope 在 Snapcraft 团队工作时写的一个灵巧的 bash 脚本,有一种自动的方法可以做到。
我希望你知道如何创建和运行 bash shell 脚本。基本上,创建一个名为 clean-snap.sh 的新文件,并在其中添加以下几行。

#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
snap list --all | awk '/disabled/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done

保存它并关闭编辑器。要运行这个脚本,把它放在你的主目录中,然后 在 Ubuntu 中打开终端,运行这个命令:

$ sudo bash clean-snap.sh

你可以看到,它开始删除旧版本的软件包。
linux磁盘空间清理_第5张图片

如果你现在检查 Snap 使用的磁盘空间,你会发现现在的目录大小已经减少了。

sudo du -sh /var/lib/snapd/
3.2G    /var/lib/snapd/

你可能会看到一些论坛建议将 Snap 软件包的保留值设置为 2。

$ sudo snap set system refresh.retain=2

我认为现在不需要了。现在 Snap 的默认行为是为任何软件包保存两个版本。

你可能感兴趣的:(linux,运维,服务器)