一、清理软件包缓存与无用依赖
定期清理APT缓存及无用依赖是释放磁盘空间的基础操作。使用sudo apt-get clean
可删除/var/cache/apt/archives/
目录下的所有已下载软件包文件;sudo apt-get autoclean
则仅删除过期的旧版本包文件(如已被更新的软件包的旧版本)。此外,sudo apt-get autoremove
能自动卸载不再被任何已安装软件包依赖的孤立依赖包,避免无效文件堆积。若需更彻底地清理(包括配置文件),可使用sudo apt-get purge
命令,例如sudo apt-get purge package-name
。
二、管理与清理日志文件
日志文件(如系统日志、应用日志)长期积累会占用大量磁盘空间。可通过以下方式优化:
journalctl
命令管理systemd日志,例如sudo journalctl --vacuum-size=100M
(保留最近100MB日志)、sudo journalctl --vacuum-time=7d
(保留最近7天的日志);或直接删除/var/log
目录下的旧日志文件(如sudo rm /var/log/apache2/*.gz
清理Apache旧日志)。logrotate
工具(默认已安装),编辑/etc/logrotate.conf
或对应服务的轮转规则(如/etc/logrotate.d/apache2
),设置日志文件的最大大小、保留数量及压缩策略,实现日志自动管理。三、查找并删除大文件与临时文件
使用工具快速定位并清理大文件和临时文件:
du
命令查看目录大小(如sudo du -sh /*
),或使用find
命令查找指定大小的文件(如sudo find / -type f -size +100M -exec ls -lh {} \;
查找大于100MB的文件)。/tmp
目录下的临时文件可安全删除(sudo rm -rf /tmp/*
);用户缓存文件(如~/.cache
)也可定期清理(rm -rf ~/.cache/*
)。ncdu
(sudo apt install ncdu
)生成磁盘使用情况的交互式界面,直观查看哪些目录占用空间最多,便于针对性清理。四、清理孤立的软件包与旧内核
deborphan
工具查找系统中无任何软件包依赖的孤立库(sudo apt install deborphan
,然后sudo deborphan
列出孤立包),并通过sudo apt-get purge -y $(deborphan)
彻底删除,避免无效依赖占用空间。dpkg --list | grep linux-image
列出已安装的内核,保留当前使用的最新内核(如linux-image-6.1.0-10-amd64
),删除旧版本(sudo apt remove --purge linux-image-<旧版本>
)。五、调整系统参数优化内存回收
vm.swappiness
控制内核将内存数据交换到Swap空间的倾向(默认值通常为60,范围0-100)。降低该值(如设置为10)可减少Swap使用,提高内存回收效率(编辑/etc/sysctl.conf
,添加vm.swappiness=10
,然后sudo sysctl -p
生效)。sudo sync; sudo echo 3 > /proc/sys/vm/drop_caches
(echo 1
清理页面缓存,echo 2
清理目录项和inode缓存,echo 3
清理全部)。六、自动化与定期维护
将清理操作自动化,避免手动维护的繁琐:
cleanup.sh
),包含apt-get clean
、autoremove
、ncdu
分析等内容,定期通过cron
任务执行(如每月1号凌晨2点执行:0 2 1 * * /path/to/cleanup.sh
)。bleachbit
(sudo apt install bleachbit
)进行图形化深度清理,支持清理缓存、日志、临时文件、浏览器数据等多种类型垃圾;或使用logrotate
自动管理日志文件,减少手动干预。七、优化磁盘空间使用
e4defrag
工具整理碎片(sudo apt install e4defrag
,然后sudo e4defrag /dev/sdXY
,其中/dev/sdXY
为目标分区),提高磁盘读写效率。lvextend
扩展逻辑卷大小(如sudo lvextend -L +5G /dev/mapper/debian-vg-root
),然后调整文件系统大小(sudo resize2fs /dev/mapper/debian-vg-root
),无需重新分区即可增加可用空间。/home
),将大文件迁移至新硬盘,释放原有空间。