1. 分析磁盘空间使用情况
在进行存储空间优化前,需先明确空间占用情况。常用命令:
df -h:查看各文件系统的总大小、已用空间及挂载点,快速定位占用高的分区(如/var、/home)。lsblk:列出所有块设备(磁盘、分区)的层级关系,了解分区布局。du -sh /path/to/directory:统计指定目录的总大小(如/var/log),du -sh * | sort -rh | head -20可列出当前目录下最大的20个文件/目录。ncdu(需安装:sudo apt install ncdu):交互式工具,直观展示目录树的空间占用,支持按大小排序和删除操作。2. 清理APT缓存及无用软件包
APT缓存是常见的空间占用源,可通过以下命令清理:
sudo apt-get clean:彻底删除/var/cache/apt/archives目录下的所有软件包缓存(.deb文件),释放大量空间。sudo apt-get autoclean:仅删除过时的软件包缓存(即仓库中已不存在的版本),比clean更安全。sudo apt-get autoremove:移除不再需要的依赖包(即被其他软件包依赖但已不再使用的包),避免残留无用文件。sudo apt-get purge package-name:彻底卸载指定软件包及其配置文件(如sudo apt-get purge firefox),防止配置文件占用空间。3. 处理孤儿软件包与过时软件
deborphan工具查找并删除:sudo apt install deborphan # 安装工具
sudo deborphan | xargs sudo apt-get purge -y # 删除所有孤儿包
aptitude查找过时软件(标记为?obsolete),并批量删除:sudo apt install aptitude # 安装aptitude(若未安装)
sudo aptitude search ~o | awk '{print $2}' | xargs sudo aptitude purge -y
4. 管理日志文件
日志文件(如/var/log/syslog、/var/log/apache2/access.log)会随时间增长占用大量空间,需定期清理:
find命令:sudo find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;
sudo find /var/log -type f -name "*.gz" -delete # 删除压缩的旧日志
logrotate工具(默认已安装),通过/etc/logrotate.conf配置日志轮转策略(如按大小分割、保留天数),并强制立即执行:sudo logrotate -f /etc/logrotate.conf
5. 查找并删除大文件与重复文件
find命令定位大于指定大小的文件(如1GB):sudo find / -type f -size +1G -exec ls -lh {} \; # 显示详细信息
sudo find / -type f -size +1G -delete # 谨慎使用,删除前确认文件无用
fdupes工具查找并删除重复文件(需安装:sudo apt install fdupes):sudo fdupes -r /path/to/directory # 递归查找重复文件
sudo fdupes -rdN /path/to/directory # 自动删除重复文件(保留一份)
6. 卸载不常用软件与服务
dpkg列出已安装软件,删除不再需要的软件包:dpkg --list | less # 查看所有已安装软件
sudo apt remove package-name # 卸载软件(保留配置文件)
sudo apt purge package-name # 彻底卸载(删除配置文件)
apache2、mysql),减少后台进程对空间的占用:sudo systemctl stop apache2 # 停止服务
sudo systemctl disable apache2 # 禁用开机自启
7. 调整分区与存储配置
sudo vgdisplay # 查看卷组剩余空间
sudo lvextend -L +5G /dev/mapper/debian-vg-root # 扩展逻辑卷(+5G)
sudo resize2fs /dev/mapper/debian-vg-root # 调整文件系统大小(适用于ext4)
/home)迁移至新分区或外部存储,修改/etc/fstab实现自动挂载。gparted工具分区并挂载至合适目录。8. 使用压缩与清理工具
gzip、bzip2压缩,减小占用空间:gzip large_file.txt # 生成large_file.txt.gz,原文件被删除
bunzip2 large_file.txt.bz2 # 解压
bleachbit(需安装:sudo apt install bleachbit)清理缓存、临时文件、回收站的垃圾文件,支持图形界面操作。