温馨提示×

如何高效进行linux cleanup

小樊
42
2026-10-02 11:22:53
栏目: 智能运维

在 Linux 系统中,“cleanup(清理)”通常包括磁盘空间清理、日志管理、包管理清理、临时文件清理、进程/服务清理等。下面按“高效且安全”的原则,给你一套实用方案。


一、快速定位“谁占空间”

先看清问题在哪,不要盲目删。

df -h                 # 看磁盘整体使用
du -h --max-depth=1 / # 看根目录下各目录大小
ncdu /                # 交互式分析(推荐,需安装)

常见“重灾区”:

  • /var/log
  • /tmp
  • ~/.cache
  • Docker / 容器
  • 旧内核

二、包管理器清理(最重要)

Debian / Ubuntu

sudo apt autoremove
sudo apt clean
sudo apt autoclean

RHEL / CentOS / Rocky

sudo dnf autoremove
sudo dnf clean all

Arch

sudo pacman -Rns $(pacman -Qtdq)
sudo pacman -Scc

三、清理日志(小心)

查看日志大小

journalctl --disk-usage

限制 systemd 日志

sudo journalctl --vacuum-time=7d
sudo journalctl --vacuum-size=500M

清理 /var/log

sudo find /var/log -type f -name "*.log" -mtime +7 -delete

(建议配合 logrotate 使用)


四、临时文件 & 缓存

sudo rm -rf /tmp/*
rm -rf ~/.cache/*

用户级缓存(如 pip / npm):

pip cache purge
npm cache clean --force

五、旧内核清理(防误删)

Ubuntu 示例:

dpkg -l | grep linux-image
sudo apt autoremove --purge

⚠️ 至少保留一个正在使用的内核。


六、Docker / 容器清理(非常有效)

docker system prune -a
docker volume prune

只清无用内容,不影响运行容器。


七、自动化 & 防复发

1. 用 logrotate

/etc/logrotate.conf

2. 定时清理(cron)

0 3 * * 0 apt autoremove -y && journalctl --vacuum-time=7d

3. 使用工具

  • bleachbit(图形化)
  • ncdu
  • fslint(重复文件)

八、安全原则(很重要)

✅ 先 du / ncdu 再删
✅ 不删不认识的 /usr, /lib
✅ 用 autoremove 而非手动删包
✅ 重要数据先备份


如果你愿意,可以告诉我:

  • 用的是 哪类 Linux(Ubuntu / CentOS / Arch)
  • 是 服务器还是桌面
  • 主要想解决 磁盘满 / 卡顿 / 安全

我可以直接给你一条定制 cleanup 命令清单。

0 踩