CentOS全面清理系統指南
全面清理CentOS系統需從臨時文件、緩存、無用軟件、日志、舊內核、大文件等多維度入手,以下是具體步驟及注意事項:
臨時文件主要存儲在/tmp(系統臨時文件)和/var/tmp(長期臨時文件)目錄,定期清理可釋放大量空間。
rm -rf命令遞歸刪除目錄內容(操作前需確認目錄無正在使用的文件):sudo rm -rf /tmp/* /var/tmp/*
systemd-tmpfiles(CentOS 7+原生支持)或tmpwatch(需安裝)按時間/大小清理:
systemd-tmpfiles:直接運行sudo systemd-tmpfiles --clean,會根據/etc/tmpfiles.d/下的配置自動清理;tmpwatch:安裝后(sudo yum install tmpwatch),添加cron任務(如每天凌晨2點清理7天未修改的/tmp文件):sudo crontab -e
# 添加以下行
0 2 * * * /usr/sbin/tmpwatch 7d /tmp
包管理器(YUM/DNF)的緩存會占用/var/cache/yum(CentOS 7及以下)或/var/cache/dnf(CentOS 8及以上)空間,清理可釋放磁盤。
sudo yum clean all # 清理所有緩存(元數據、RPM包等)
sudo dnf clean all # 功能同YUM,適用于新版本
sudo rm -rf /var/cache/yum/* # CentOS 7及以下
sudo rm -rf /var/cache/dnf/* # CentOS 8及以上
系統中殘留的無用軟件包(如卸載軟件后剩下的依賴)會增加磁盤占用,需自動檢測并刪除。
sudo yum autoremove # CentOS 7及以下,自動刪除無用依賴
sudo dnf autoremove # CentOS 8及以上,功能同上
日志文件(如/var/log/messages、/var/log/secure)會隨時間增長占用大量空間,可通過以下方式管理:
sudo truncate -s 0 /var/log/syslog # 清空syslog(Ubuntu風格,CentOS常用messages/secure)
sudo rm -f /var/log/messages /var/log/secure # 直接刪除(謹慎操作,需確認不影響系統)
sudo journalctl --vacuum-time=7d # 刪除7天前的日志
sudo journalctl --vacuum-size=100M # 限制日志總大小為100MB
/etc/logrotate.conf,添加以下規則(每日輪轉、保留7份、壓縮舊日志):/var/log/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root root
}
CentOS會保留舊內核以確保系統可回滾,但過多舊內核會占用/boot分區空間,需定期刪除。
rpm -q kernel # 列出所有內核版本
sudo package-cleanup --oldkernels --count=1 # 自動刪除除最新外的所有舊內核
# 或手動指定內核版本(如刪除kernel-3.10.0-1160.el7.x86_64)
sudo yum remove kernel-3.10.0-1160.el7.x86_64
通過命令查找系統中占用空間大的文件(如大于100MB),手動刪除不再需要的文件。
# 查找根目錄下大于100MB的文件
sudo du -sh /* | sort -h
sudo find / -type f -size +100M -exec ls -lh {} \;
# 刪除確認無用的大文件(如某目錄下的備份文件)
sudo rm -f /path/to/large_file
sudo userdel username # 刪除用戶(需確認用戶無活動進程)
sudo groupdel groupname # 刪除組
rm -rf ~/.mozilla/firefox/*/Cache/* # 刪除Firefox緩存
sudo yum install bleachbit -y # 安裝
sudo bleachbit # 啟動(需圖形界面)
sudo yum install system-cleaner -y # 安裝
sudo system-cleaner # 啟動
sudo crontab -e
# 添加以下行
0 2 * * 0 /usr/bin/yum clean all && /usr/bin/yum autoremove -y && /usr/sbin/systemd-tmpfiles --clean
/home、/etc等關鍵目錄,防止誤刪導致數據丟失。注意事項:
rm -rf命令時需確認目錄路徑,避免誤刪系統關鍵文件(如/etc、/boot);