清理CentOS垃圾文件的常用方法
包管理器(yum/dnf)下载的软件包和元数据会占用大量磁盘空间,定期清理可有效释放空间。
sudo yum clean all,清理所有yum缓存(包括软件包、元数据和过期缓存)。sudo dnf clean all,功能与yum类似,适配dnf包管理器。系统临时目录(/tmp、/var/tmp)中的文件多为临时使用,定期删除可避免堆积。
执行sudo rm -rf /tmp/* /var/tmp/*,注意:/tmp目录下的文件可能被系统或应用重新创建,无需担心误删影响系统运行。
日志文件(如/var/log/messages、/var/log/secure)随时间增长会占用大量空间,可通过以下方法管理:
journalctl工具(systemd日志管理)按时间/大小清理,例如删除2周前的日志sudo journalctl --vacuum-time=2weeks,或删除超过1GB的日志sudo journalctl --vacuum-size=1G;也可手动截断特定日志文件(如messages)sudo truncate -s 0 /var/log/messages。/etc/logrotate.conf或/etc/logrotate.d/下的配置文件(如rsyslog),设置rotate 7(保留7天日志)、compress(压缩旧日志)、daily(每日轮转)等参数,定期执行sudo logrotate -f /etc/logrotate.conf手动触发轮转。系统缓存(页面缓存、目录项缓存、inode缓存)用于提升性能,但过度占用会影响磁盘空间,可安全清理:
执行sudo sync && echo 3 > /proc/sys/vm/drop_caches,其中sync将缓存数据写入磁盘,echo 3清理页面缓存、目录项缓存和inode缓存。注意:清理后可能短暂影响系统性能,建议在系统空闲时执行。
旧内核版本会占用/boot分区空间,保留最近2个内核即可(避免系统无法启动):
执行sudo package-cleanup --oldkernels --count=2,自动删除旧内核(需root权限)。
孤立包(无依赖的软件包)和未使用软件会占用磁盘空间,可通过以下命令清理:
sudo package-cleanup --quiet --leaves --exclude-bin(排除二进制文件)。sudo yum remove <package_name>(替换为实际包名)。sudo yum autoremove(自动删除不再被依赖的软件包)。BleachBit是图形化清理工具,可清理临时文件、缓存、日志、回收站等,操作简便:
sudo yum install bleachbit(CentOS 7及以下)或sudo dnf install bleachbit(CentOS 8及以上)。sudo bleachbit,选择需要清理的项目(如“系统临时文件”“浏览器缓存”),点击“清理”。用户删除的文件会存放在回收站(~/.local/share/Trash/files),需定期清空:
执行sudo rm -rf /home/*/.local/share/Trash/*,清理所有用户的回收站文件。
使用ncdu工具(磁盘使用分析器)快速定位大文件,便于针对性清理:
sudo yum install ncdu(CentOS 7及以下)或sudo dnf install ncdu(CentOS 8及以上)。sudo ncdu /(扫描根目录),界面中按大小排序,选中大文件后按d删除。