一、清理临时文件
临时文件是系统垃圾的主要来源之一,通常存储在/tmp
、/var/tmp
及用户目录的.cache
、.local/share/Trash
中。
sudo rm -rf /tmp/*
清除/tmp
目录下的所有临时文件(系统重启后会重新创建);同理,sudo rm -rf /var/tmp/*
清理/var/tmp
目录。rm -rf ~/.cache/*
删除当前用户的缓存文件,rm -rf ~/.local/share/Trash/*
清空回收站中的文件。systemd-tmpfiles
工具设置定时规则(如编辑/etc/tmpfiles.d/cleanup.conf
添加w /tmp 1777 root root -
,表示每周清理/tmp
),或添加cron任务(如0 3 * * * root rm -rf /tmp/*
,每天凌晨3点执行)。二、清理包管理器缓存
包管理器(yum/dnf)下载的RPM包和元数据会占用大量磁盘空间,需定期清理。
sudo yum clean all
命令清理所有缓存(包括已下载的RPM包、元数据);也可单独清理元数据(sudo yum clean metadata
)或RPM包(sudo yum clean packages
)。sudo dnf clean all
命令,功能与yum类似,覆盖所有缓存类型。三、清理日志文件
日志文件(如/var/log/messages
、/var/log/secure
)会随时间增长占用大量空间,需合理清理。
sudo journalctl --vacuum-time=2weeks
删除两周前的日志;sudo journalctl --vacuum-size=100M
将日志限制在100MB以内。sudo rm -f /var/log/messages
(系统消息日志)、sudo rm -f /var/log/secure
(认证日志)等,操作前需确认日志无重要信息。logrotate
工具(默认已安装)自动压缩、删除旧日志,编辑/etc/logrotate.conf
调整轮转策略(如保留7天日志)。四、清理无用软件包及依赖
卸载软件后,残留的无用依赖会占用空间,需自动检测并清理。
sudo yum list installed
(CentOS 7)或sudo dnf list installed
(CentOS 8+),查看不需要保留的软件。sudo yum remove package_name
(如sudo yum remove firefox
)或sudo dnf remove package_name
。sudo yum autoremove
(CentOS 7)或sudo dnf autoremove
(CentOS 8+),删除不再被任何软件依赖的无用包。五、清理旧内核
旧内核版本会占用磁盘空间,且不会自动删除,需手动清理。
rpm -q kernel
,显示所有已安装的内核版本(当前使用的内核不会被列出)。sudo yum remove kernel-version
(如sudo yum remove kernel-3.10.0-1160.el7.x86_64
);或使用package-cleanup
工具(需安装yum-utils
):sudo package-cleanup --oldkernels --count=2
,保留最近2个内核版本。六、查找并清理大文件/目录
使用工具快速定位占用空间大的文件或目录,针对性清理。
sudo yum install ncdu
(CentOS 7)或sudo dnf install ncdu
(CentOS 8+),运行sudo ncdu /
扫描根目录,通过界面查看大文件/目录,按d
键删除。sudo find / -type f -size +100M -exec ls -lh {} \;
查找大于100MB的文件,sudo find / -type f -size +500M -exec rm -f {} \;
删除大于500MB的文件(操作前需确认文件用途)。七、清理Docker日志(若有Docker服务)
Docker容器的日志文件会快速增长,需定期清理。
docker ps
获取容器ID,sudo truncate -s 0 /var/lib/docker/containers/container_id/container_id-json.log
清空指定容器日志。sudo find /var/lib/docker/containers/ -name "*.log" -exec truncate -s 0 {} \;
清空所有容器日志。注意事项
/home
、/etc
等关键目录,防止误删。/usr
、/bin
)操作。