这两个目录是 Debian 系统中常见的大户,进一步清理可以重点针对它们。
1. /usr 目录清理建议
/usr 主要存放系统程序和共享资源,通常包含:
/usr/share/doc:软件说明文档/usr/share/man:手册页/usr/share/locale:多语言本地化文件/usr/share/fonts:字体文件/usr/lib:库文件和程序文件/usr/bin、/usr/sbin:可执行文件
清理重点
删除说明文档和手册页
rm -rf /usr/share/doc/* rm -rf /usr/share/man/* rm -rf /usr/share/info/*删除不需要的语言文件
如果只需要简体中文(zh_CN)和英文(en),可以删除其他语言的本地化文件:
find /usr/share/locale -mindepth 1 -maxdepth 1 ! -name "zh_CN" ! -name "en" -exec rm -rf {} +字体清理
同之前脚本,保留简体中文和英文字体,删除其他字体。
检查大文件
你可以用如下命令列出
/usr下大于 10MB 的文件,确认是否有可删文件:find /usr -type f -size +10M -exec ls -lh {} \;
2. /var 目录清理建议
/var 目录通常包含:
/var/cache:缓存文件/var/log:日志文件/var/lib:应用程序数据/var/tmp:临时文件
清理重点
清理 apt 缓存
apt-get clean rm -rf /var/cache/apt/archives/*清理日志
journalctl --vacuum-size=50M || true rm -rf /var/log/*.gz /var/log/*.1 find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;清理临时文件
rm -rf /var/tmp/* rm -rf /tmp/*清理备份
rm -rf /var/backups/*删除残留旧配置
dpkg -l | grep '^rc' | awk '{print $2}' | xargs -r dpkg --purge
3. 综合清理脚本示例(针对 /usr 和 /var)
#!/bin/bash
set -e
echo "=== 针对 /usr 和 /var 的清理开始 ==="
# 清理说明文档和手册页
echo "删除 /usr/share/doc、man、info..."
rm -rf /usr/share/doc/*
rm -rf /usr/share/man/*
rm -rf /usr/share/info/*
# 删除非简体中文和英文语言包
echo "删除非 zh_CN 和 en 的语言包..."
find /usr/share/locale -mindepth 1 -maxdepth 1 ! -name "zh_CN" ! -name "en" -exec rm -rf {} +
# 清理字体,保留简体中文和英文字体
echo "清理字体..."
FONT_DIRS=("/usr/share/fonts" "/usr/local/share/fonts")
CHINESE_FONT_KEYWORDS=("NotoSansCJK" "WenQuanYi" "AR PL" "SourceHan" "DroidSansFallback")
EN_FONT_KEYWORDS=("DejaVu" "Liberation" "Nimbus" "FreeSans" "Arial" "Times" "Courier")
for dir in "${FONT_DIRS[@]}"; do
if [ -d "$dir" ]; then
find "$dir" -type f \( -name "*.ttf" -o -name "*.otf" \) | while read -r fontfile; do
keep_font=false
for keyword in "${CHINESE_FONT_KEYWORDS[@]}" "${EN_FONT_KEYWORDS[@]}"; do
if echo "$fontfile" | grep -qi "$keyword"; then
keep_font=true
break
fi
done
if [ "$keep_font" = false ]; then
echo "删除字体: $fontfile"
rm -f "$fontfile"
fi
done
fi
done
# 清理 apt 缓存
echo "清理 apt 缓存..."
apt-get clean
rm -rf /var/cache/apt/archives/*
# 清理日志文件
echo "清理日志文件..."
journalctl --vacuum-size=50M || true
rm -rf /var/log/*.gz /var/log/*.1
find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
# 清理临时文件
echo "清理临时文件..."
rm -rf /var/tmp/*
rm -rf /tmp/*
# 删除备份文件
echo "删除备份文件..."
rm -rf /var/backups/*
# 删除残留旧配置文件
echo "删除残留旧配置文件..."
dpkg -l | grep '^rc' | awk '{print $2}' | xargs -r dpkg --purge
echo "=== 清理完成 ==="
4. 进一步建议
可以安装并使用
ncdu交互式查看/usr和/var的具体子目录占用,找到最大的目录或文件:sudo apt-get install ncdu sudo ncdu /usr sudo ncdu /var如果有不常用的软件包,考虑卸载以释放空间。
如果系统中安装了多个内核,删除旧内核。
