centos

CentOS清理系统垃圾的方法

小樊
54
2025-10-07 03:14:29
栏目: 智能运维

清理包管理器缓存
CentOS的包管理器(YUM/DNF)会缓存下载的软件包和元数据,定期清理可释放磁盘空间。对于CentOS 7及以下版本,使用yum clean all命令;CentOS 8及以上版本使用dnf clean all命令。此外,可删除/var/cache/yum目录下的残留缓存。

清理临时文件
系统临时文件(如/tmp/var/tmp目录下的文件)通常无需保留,可使用rm -rf /tmp/*rm -rf /var/tmp/*命令清理。注意:这些目录下的文件可能会被系统或应用程序重新创建,清理前无需备份。

清理日志文件
日志文件是磁盘空间占用的主要来源之一,可通过以下方法清理:

清理系统缓存
系统缓存(页面缓存、目录项缓存、inode缓存)用于提升性能,但过度占用会影响磁盘空间。清理命令:sync(同步数据到磁盘)后执行echo 3 > /proc/sys/vm/drop_caches(清理所有缓存)。注意:清理后系统会重新建立缓存,可能导致短暂性能下降。

清理旧内核
旧内核版本会占用大量磁盘空间,可使用package-cleanup工具保留最近2个内核版本,删除旧内核:sudo package-cleanup --oldkernels --count=2。执行前需确认当前使用的内核版本(uname -r),避免删除正在使用的版本。

清理应用程序缓存
常用应用程序(如BleachBit、Composer、Node.js)会生成缓存文件,可通过以下方式清理:

查找并删除大文件
使用dufind命令查找占用大量空间的文件或目录:

自动化清理脚本
可编写一键清理脚本(如clean_disk.sh),整合上述常用清理步骤(如清理缓存、日志、临时文件、旧内核),定期执行(如每周一次)。脚本示例:

#!/bin/bash
echo "开始清理磁盘..."
# 清理包管理器缓存
if command -v dnf &>/dev/null; then
    sudo dnf clean all
else
    sudo yum clean all
fi
# 清理journal日志(保留7天)
sudo journalctl --vacuum-time=7d
# 清理临时文件
sudo rm -rf /tmp/* /var/tmp/*
# 清理旧内核
if command -v package-cleanup &>/dev/null; then
    sudo package-cleanup --oldkernels --count=2
fi
echo "清理完成"
df -h /

赋予执行权限后运行:chmod +x clean_disk.shsudo ./clean_disk.sh

0
看了该问题的人还看了