在 CentOS 系统中进行资源回收主要包括释放磁盘空间、清理缓存、卸载不必要的软件包等。以下是具体的方法:
释放磁盘空间
-
查看磁盘使用情况:
使用
df
命令查看磁盘空间使用情况,df -h
以人类可读格式显示信息。df -h
使用
du
命令估算文件和目录的磁盘使用情况,du -h --max-depth=1 /var
限制显示/var
目录层级。du -h --max-depth=1 /var
-
清理日志文件:
截断或删除旧的日志文件。例如,截断所有大小超过 50MB 且修改时间超过 7 天的日志文件:
find /var/log -type f -name "*.log" -size +50M -mtime +7 -exec truncate -s 0 {} \;
删除修改时间超过 30 天的日志文件:
find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;
-
设置日志轮转:
使用
logrotate
工具管理日志文件,防止其无限增长。配置文件位于/etc/logrotate.conf
。/etc/logrotate.conf
-
清理 YUM 缓存:
使用
yum clean all
命令清理所有 YUM 缓存。sudo yum clean all
手动删除 YUM 缓存文件,例如删除
/var/cache/yum
目录中的所有文件:rm -rf /var/cache/yum/*
-
清理孤立包:
使用
package-cleanup
工具查找并删除孤立包。package-cleanup --quiet --leaves --exclude-bin
-
删除旧内核:
使用
package-cleanup
工具删除旧内核,只保留最近的两个内核版本。package-cleanup --oldkernels --count=2
清理缓存
-
清理 YUM 缓存:
sudo yum clean all
-
清理 DNF 缓存(适用于 CentOS 8 及以上版本):
sudo dnf clean all
-
清理 APT 缓存(适用于基于 Debian 的 CentOS):
sudo apt clean
-
清理临时文件:
sudo rm -rf /tmp/*
-
清理内存缓存:
sudo sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
-
清理 Swap 分区:
sudo swapoff -a; sudo swapon -a
卸载不必要的软件包
-
列出所有已安装的软件包:
sudo yum list installed
-
删除特定软件包:
sudo yum remove package_name
-
自动检测并删除不再被任何软件包依赖的无用软件包:
sudo yum autoremove