1. 查看磁盘空间使用情况(前置步骤)
在进行空间回收前,需先明确哪些分区或目录占用空间较大。常用命令:
lsblk:显示块设备(如硬盘、分区)的层级结构及大小;df -h:以易读格式(GB/MB)展示各文件系统的磁盘使用率、剩余空间及挂载点;du -sh /path/to/directory:查看指定目录的总大小(如du -sh /home查看/home目录占用空间);ncdu(图形化工具):安装后(sudo apt install ncdu)运行ncdu /,可交互式浏览目录占用情况,快速定位大文件。2. 清理APT缓存(最常用方法)
APT包管理器会缓存下载的软件包(.deb文件),占用/var/cache/apt/archives/目录空间。可通过以下命令清理:
sudo apt-get clean:彻底清理所有缓存的软件包(慎用,若需重新安装软件需重新下载);sudo apt-get autoclean:仅清理旧版本的缓存(保留当前可用的软件包缓存),更安全;3. 删除不再需要的软件包
dpkg --list列出所有已安装软件,通过sudo apt-get remove package_name卸载不需要的软件(保留配置文件);sudo apt-get purge package_name;sudo apt-get autoremove或sudo apt-get autoremove --purge(彻底清除配置)删除。4. 清理日志文件(长期积累的大户)
系统日志(如/var/log/syslog、/var/log/auth.log)会随时间增长占用大量空间,可通过以下方式管理:
find命令查找并删除超过30天的日志文件(示例:sudo find /var/log -type f -mtime +30 -exec rm -f {} \;);/etc/logrotate.conf)。强制立即轮转日志:sudo logrotate -f /etc/logrotate.conf;journalctl命令,保留最近1周的日志:sudo journalctl --vacuum-time=1week。5. 删除临时文件
/tmp目录用于存储临时文件(如软件安装时的临时文件、用户上传的临时文件),可定期清理:
/tmp会自动重建):sudo rm -rf /tmp/*;/tmp下正在使用的文件(如某些服务正在写入的文件),以免导致服务异常。6. 查找并删除大文件
使用find命令快速定位大文件(如大于100MB的文件),再根据实际情况删除:
sudo find . -type f -size +100M -exec ls -lh {} \;;sudo find / -type f -size +1G -exec ls -lh {} \;;rm命令删除(如sudo rm /path/to/large_file)。7. 处理孤立软件包(残留依赖)
孤立软件包是指软件卸载后遗留的无用依赖包,可使用deborphan工具查找并删除:
sudo apt install deborphan;sudo deborphan(列出所有孤立包);sudo apt-get purge -y $(deborphan)(彻底清除)。8. 清理过时软件包
过时软件包是指软件源中已不再维护的旧版本软件,可通过aptitude查找并删除:
aptitude(若未安装):sudo apt install aptitude;sudo aptitude search ~o(~o表示过时软件包);sudo aptitude purge $(aptitude search ~o | awk '{print $2}')。9. 调整分区大小(高级方法,需谨慎)
若现有分区空间不足,可通过LVM(逻辑卷管理)调整分区大小(需提前确认系统使用LVM):
sudo vgdisplay(确认卷组有剩余空间);sudo lvextend -L +5G /dev/mapper/vg_name-lv_name(增加5GB空间,替换为实际路径);sudo resize2fs /dev/mapper/vg_name-lv_name(适用于ext4文件系统,若为xfs需使用xfs_growfs);gparted图形化工具调整分区(需备份数据,操作复杂)。10. 使用压缩工具减小文件大小
对于大型文件(如数据库备份、视频文件),可使用压缩工具减小占用空间:
gzip:gzip large_file(生成large_file.gz,原文件被删除);bzip2:bzip2 large_file(压缩率更高,生成large_file.bz2);xz:xz large_file(压缩率最高,但速度较慢);gunzip large_file.gz)。11. 卸载不常用软件和服务
检查系统中不常用的软件或服务(如旧版数据库、未使用的服务器组件),通过sudo apt remove package_name卸载,释放空间。例如:
sudo apt remove apache2;sudo apt remove mysql-server;sudo apt autoremove清理残留依赖。12. 清理Docker资源(若使用Docker)
若系统运行Docker容器或镜像,可通过以下命令清理无用资源:
docker stop $(docker ps -aq);docker container prune;docker image prune -a;docker volume prune;docker network prune。13. 清理Snap包(若使用Snap)
Snap包会占用较多空间(包含多个版本),可通过以下命令清理:
sudo snap list --all;sudo snap remove --revision=<revision_number> package_name(替换为实际版本号和包名);sudo snap remove --revision=all package_name(谨慎使用,会删除所有历史版本)。