一、清理包管理器缓存
包管理器(如APT、DNF、YUM)在安装软件时会缓存deb、rpm等安装包,这些文件在安装完成后不再需要,占用大量磁盘空间。
sudo apt clean删除所有已下载的安装包;sudo apt autoclean仅删除旧版本包(保留当前版本,更安全)。sudo dnf clean all或sudo yum clean all清理缓存。/var/cache/apt/archives(APT)或/var/cache/yum(YUM)目录的空间。二、移除未使用的依赖与孤立软件包
卸载软件时,依赖库可能未被自动清除,形成“孤儿包”(不再被任何程序调用的包),占用空间且增加系统冗余。
sudo apt autoremove --dry-run;确认无误后执行sudo apt autoremove清理;若需连同配置文件一并删除,添加--purge参数:sudo apt autoremove --purge。sudo dnf autoremove或sudo yum autoremove实现类似功能。三、删除旧内核镜像文件
系统升级时会保留多个旧版本内核,用于回退,但长期积累会导致/boot分区空间紧张(尤其是机械硬盘)。
uname -r(不要删除当前正在使用的内核)。dpkg --list | grep linux-image(Ubuntu/Debian)或rpm -qa | grep kernel(Fedora/CentOS)。sudo apt remove --purge linux-image-<version>(Ubuntu/Debian,替换<version>为旧内核版本号)或sudo dnf remove kernel-<version>(Fedora);删除后更新GRUB配置:sudo update-grub(Ubuntu/Debian)或sudo grub2-mkconfig -o /boot/grub2/grub.cfg(Fedora/CentOS)。四、清除临时文件与日志
/tmp(系统临时文件,重启后自动清空但可能残留)、/var/tmp(长期临时文件)、用户目录下的~/.cache/(应用程序缓存)。
/tmp:sudo rm -rf /tmp/*(谨慎使用,避免删除正在使用的文件);或使用find命令删除7天前的临时文件:sudo find /tmp -type f -mtime +7 -exec rm -f {} \;。/var/tmp:sudo rm -rf /var/tmp/*。rm -rf ~/.cache/*(当前用户)或sudo rm -rf /home/*/.cache/*(所有用户,需谨慎)。/var/log目录下的日志(如syslog、auth.log)会随时间增长占用大量空间。
journalctl(systemd系统)保留最近3天日志:sudo journalctl --vacuum-time=3d;或保留最近100MB日志:sudo journalctl --vacuum-size=100M。gzip /var/log/*.log(压缩);sudo find /var/log -type f -name "*.log.*" -mtime +30 -delete(删除30天前的旧日志)。/var/log/syslog.1)。五、使用系统自带/第三方工具批量清理
sudo apt install bleachbit(Ubuntu/Debian)、sudo dnf install bleachbit(Fedora)、sudo yum install bleachbit(CentOS)。sudo bleachbit,勾选需要清理的项目(如“系统缓存”“临时文件”),点击“清理”即可。sudo apt install ncdu(Ubuntu/Debian)、sudo dnf install ncdu(Fedora)。ncdu /(分析根目录),通过方向键导航,按d删除选中文件/目录。sudo apt install rmlint(Ubuntu/Debian)。rmlint /path/to/directory(扫描目录),生成清理脚本./rmlint.sh,预览(-d)后执行(-do /backup)。六、清理用户个人冗余文件
rm -rf ~/.cache/google-chrome/Default/Cache/*。rm -rf ~/.mozilla/firefox/*.default-release/cache2/*。~/Downloads目录中的旧文件(如安装包、文档):find ~/Downloads -type f -mtime +30 -exec rm -f {} \;(删除30天前的文件)。注意事项
/home、/etc等重要目录,避免误删。rm -rf:该命令会强制删除文件且无法恢复,建议先使用ls命令确认目标文件。crontab -e,添加0 2 * * * /path/to/cleanup_script.sh。