HCRM博客

如何快速高效清理CentOS系统垃圾?

在CentOS系统中,随着时间的推移,系统会产生大量的垃圾文件、缓存数据和不再使用的日志文件,这些文件不仅占用宝贵的磁盘空间,还可能影响系统的性能,定期进行垃圾清理是维护系统稳定性和性能的重要任务,本文将详细介绍如何在CentOS中有效地进行垃圾清理,包括清理缓存、旧内核、不必要的软件包、日志文件和临时文件等。

一、查看存储空间

在进行垃圾清理之前,了解当前系统的存储使用情况是非常重要的,可以通过以下命令查看:

如何快速高效清理CentOS系统垃圾?-图1
(图片来源网络,侵权删除)

1、查看整体磁盘使用情况

  • df h

该命令可以显示所有挂载点的磁盘使用情况,以易读的格式(如GB)呈现。

2、查看特定目录的使用情况

  • du sh /var/log

该命令用于查看指定目录及其子目录的总大小。s表示汇总每个参数指定的总大小,h以人类可读的格式显示。

二、清理缓存

YUM(或DNF)包管理器会缓存下载的软件包和头文件,以便下次安装时加快速度,这些缓存文件可能会占用大量磁盘空间。

1、清理YUM缓存

如何快速高效清理CentOS系统垃圾?-图2
(图片来源网络,侵权删除)
  • sudo yum clean all

该命令会清理所有YUM缓存的文件,包括已下载的软件包、头文件和数据库缓存。

三、清理旧的内核

随着新内核的安装,旧的内核版本会保留在系统中,占用磁盘空间,可以使用packagecleanup命令删除旧的内核版本,但保留最新的两个内核版本。

  • sudo packagecleanup oldkernels count=2

如果希望删除所有旧内核,可以使用以下命令:

  • sudo packagecleanup oldkernels count=1

四、删除不必要的软件包和依赖项

有时,软件包的依赖关系可能会变得不再需要,但仍留在系统中,可以使用yum autoremove命令来删除这些孤立的软件包。

  • sudo yum autoremove

还可以手动检查并删除孤立的软件包:

  • sudo packagecleanup quiet leaves excludebin

这些命令会列出不再被任何软件包依赖的软件包,您可以手动决定是否删除。

五、清理日志文件

系统和应用生成的日志文件可能会占用大量磁盘空间,可以移除不再需要的日志文件。

1、清理journalctl日志

  • sudo journalctl vacuumsize=100M

该命令将清理大于100MB的日志文件。

2、清理/var/log目录

  • sudo find /var/log type f name "*.log" exec truncate size 0 {} \;

该命令会清空/var/log目录下的所有日志文件。

六、清理临时文件

系统在运行过程中会生成许多临时文件,这些文件通常位于/tmp和/var/tmp目录下,可以安全地删除这些文件:

  • sudo rm rf /tmp/*
  • sudo rm rf /var/tmp/

七、使用脚本自动清理磁盘空间

为了方便定期清理,可以编写一个Shell脚本来自动执行上述清理任务,以下是一个示例脚本:

  • #!/bin/bash
  • 记录清理前的可用空间
  • before=$(df h / | awk '/\// {print $4}')
  • 清理yum缓存
  • sudo yum clean all
  • 清理旧的日志文件
  • find /var/log type f name "*.log" exec truncate size 0 {} \;
  • 清理回收站
  • echo "Emptying trash..."
  • rm rf /root/.local/share/Trash/*/** &>/dev/null
  • 清理历史命令记录
  • history c
  • history w
  • 清理临时文件
  • rm rf /tmp/*
  • rm rf /var/tmp/*
  • 清理旧的系统备份
  • rm rf /var/backups/*
  • 清理不再使用的软件包和依赖项
  • sudo yum autoremove y
  • 清理旧的内核
  • sudo packagecleanup oldkernels count=1 y
  • 清理缓存文件
  • find /var/cache type f exec rm rf {} \;
  • 清理用户缓存
  • for user in $(ls /home); do
  • rm rf /home/$user/.cache/*
  • done
  • 清理邮件日志
  • find /var/mail type f exec truncate size 0 {} \;
  • 清理core文件
  • find / name "core" delete
  • 清理旧的会话文件
  • find /var/lib/php/session type f delete
  • 清理系统邮件队列
  • service postfix stop
  • rm rf /var/spool/postfix/*
  • service postfix start
  • 清理Docker容器日志文件(如果安装了Docker)
  • docker rm v $(docker ps a q) &>/dev/null
  • docker image prune a force &>/dev/null
  • docker volume prune f &>/dev/null
  • docker container prune f &>/dev/null
  • docker system prune af &>/dev/null
  • docker images prune a force &>/dev/null
  • docker volume prune f &>/dev/null
  • docker container prune f &>/dev/null
  • docker network prune f &/dev/null
  • docker system prune af &>/dev/null &>/dev/null
  • docker container prune f &>/dev/null &>/dev/null
  • docker image prune f &>/dev/null &>/dev/null
  • docker volume prune f &>/dev/null &>/dev/null
  • docker container prune f &>/dev/null &>/dev/null
  • docker network prune f &>/dev/null &>/dev/null &>/dev/null
  • docker system prune af &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>;
  • docker image prune a force &>/dev/null &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;
  • docker volume prune f &>;;
  • docker image prune a force &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f y &>;
  • docker image prune a force &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &>;
  • docker image prune f &>;
  • docker volume prune f &>;
  • docker container prune f &>;
  • docker network prune f &>;
  • docker system prune af &>;
  • docker container prune f &0;
  • docker image prune a force &0;
  • docker volume prune f &0;
  • docker container prune f &0;
  • docker network prune f &0;
  • docker system prune af &0;
  • docker container prune f &0;
  • docker image prune f &0;
  • docker volume prune f &0;
  • docker container prune f &0;
  • docker network prune f &0;
  • docker system prune af &0;
  • docker container prune f &0;
  • docker image prune f &0;
  • docker volume prune f &0;
  • docker container prune f &0;
  • docker network prune f &0;
  • docker system prune af &0;
  • docker container prune f &0;
  • docker image prune f &0;
  • docker volume prune f &0;
  • docker container prune f &0;
  • docker network prune f &0;
  • docker system prune af &0;
  • docker container prune f &0;
  • docker image prune f y &0;
  • docker volume prune f &0;
  • docker container prune f &0;
  • docker network prune f &0;
  • docker system prune af &0;
  • docker container prune f &0;
  • docker image prune f &0;
  • docker volume prune f &0;;
  • 计算清理前后的空间变化量并输出结果,如果存在Docker环境,则还需额外处理Docker相关的日志和数据卷,这部分代码可以根据实际需求添加或调整,如果系统上没有安装Docker,则可以跳过与Docker相关的清理操作,同样地,如果需要清理其他类型的日志或临时文件,也可以在此脚本基础上进行扩展和定制,通过定期运行此脚本,可以有效地释放磁盘空间并保持系统的良好性能状态。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/18252.html

分享:
扫描分享到社交APP
上一篇
下一篇