Ubuntu系统高级清理技巧
APT缓存是系统安装软件时下载的.deb包存储位置(/var/cache/apt/archives),长期积累会占用大量空间。
sudo apt clean命令,删除缓存目录下的所有文件(仅保留锁定文件),释放空间最彻底。sudo apt autoclean命令,仅删除无法从软件仓库重新下载的旧版本包(如已升级的软件包旧版本),保留当前可用版本,兼顾空间释放与安全性。sudo apt autoremove命令,删除自动安装但不再被任何软件依赖的包(如软件卸载后的残留依赖),避免“孤儿包”占用空间。旧内核版本会占用/boot分区(通常较小)大量空间,且不会自动删除(除非开启autoremove)。
uname -r命令获取当前正在运行的内核版本(切勿删除)。dpkg --list | grep linux-image命令查看已安装的内核包(排除linux-image-generic等基础包)。sudo apt purge linux-image-版本号命令删除旧内核(如linux-image-5.4.0-42-generic),建议保留至少2个最新内核作为备用(防止新内核无法启动)。Snap(.snap格式)和Flatpak(.flatpak格式)是Ubuntu常用的沙盒化软件包格式,其缓存会占用/var/lib/snapd/cache(Snap)和~/.local/share/flatpak(Flatpak)空间。
sudo rm -rf /var/lib/snapd/cache/*命令删除Snap应用的旧版本缓存(系统会自动保留最新版本)。flatpak uninstall --unused命令删除未关联任何应用的Flatpak运行时(如org.freedesktop.Platform的旧版本),释放/var/lib/flatpak空间。通过命令行工具快速定位系统中占用空间大的文件(如视频、备份文件、下载目录),针对性清理。
find命令:查找大于指定大小的文件(如500MB),例如find / -type f -size +500M -exec ls -lh {} \;(/表示根目录,可替换为/home等特定目录),找到后手动删除不需要的文件。ncdu工具:安装sudo apt install ncdu,运行ncdu /(扫描根目录)或ncdu /home(扫描用户目录),通过交互式界面查看文件夹大小,按d键删除选中文件/文件夹(比du命令更直观)。孤立包(Orphan Packages)是软件卸载后残留的无依赖库,残留配置文件(如/etc、/var/lib中的.dpkg-old文件)会占用空间且无用。
deborphan工具(sudo apt install deborphan),运行deborphan命令列出所有孤立包(无依赖的库),然后使用sudo apt purge $(deborphan)命令删除。dpkg -l | grep ^rc | awk '{print $2}' | sudo xargs dpkg -P命令,删除所有状态为“rc”(残留配置)的包配置文件(如/etc/apt/sources.list.d/中的旧源配置)。系统日志(/var/log)和临时文件(/tmp、/var/tmp)会随时间积累,尤其是日志文件(如syslog、kern.log)可能占用GB级空间。
journalctl命令管理日志,例如sudo journalctl --vacuum-time=7d保留最近7天的日志,或sudo journalctl --vacuum-size=100M限制日志文件最大大小为100MB;也可手动清空日志文件(如sudo truncate -s 0 /var/log/syslog)。sudo rm -rf /tmp/*命令删除/tmp目录下的临时文件(重启后会自动清理),使用rm -rf ~/.cache/*命令删除用户目录下的应用缓存(如浏览器、IDE缓存)。图形化工具适合不熟悉命令行的用户,提供可视化界面快速清理。
sudo apt install ubuntu-cleaner,运行后选择清理项目即可。sudo add-apt-repository ppa:gerardpuig/ppa && sudo apt update && sudo apt install stacer,运行后通过“清理”选项卡清理缓存、日志等。sudo apt install bleachbit,运行后选择清理项目(如“系统缓存”“浏览器缓存”)。