使用df -h
命令查看各分区(尤其是根分区/
、/home
或/boot
)的使用率,定位空间不足的分区;再用du -sh * | sort -h
(在根目录或目标目录下运行)找出占用空间大的文件或目录(如大型日志、下载文件、旧备份等)。
运行以下命令清理APT缓存(/var/cache/apt/archives
)和不再需要的依赖包:
sudo apt clean # 清理所有APT缓存文件
sudo apt autoclean # 清理过时的缓存文件(仅保留当前可用的包)
sudo apt autoremove # 自动移除不再需要的依赖包
这些操作可释放/var
目录下的空间(通常占几GB)。
旧内核会占用/boot
分区空间(常见于Ubuntu Server或手动安装的系统)。通过以下命令清理:
dpkg -l | grep linux-image # 列出已安装的内核版本(排除当前正在使用的)
sudo apt purge linux-image-x.x.x-x-generic # 删除旧内核(替换x.x.x-x为具体版本号)
清理后可释放/boot
分区的大量空间(通常每个旧内核占100-300MB)。
系统日志(如/var/log/syslog
、/var/log/kern.log
)可能随时间增长占用大量空间。使用以下命令清理:
sudo journalctl --vacuum-time=3d # 删除超过3天的日志(可调整为7d/30d)
sudo rm -rf /var/log/*.gz # 删除压缩的旧日志文件
注意:避免删除正在使用的日志文件(如syslog
),以免影响系统运行。
缩略图缓存(位于~/.cache/thumbnails
)会随着图片、视频文件的增多而增大。运行以下命令清理:
rm -rf ~/.cache/thumbnails/* # 删除当前用户的缩略图缓存
若需清理所有用户的缓存,可使用sudo rm -rf /home/*/.cache/thumbnails/*
(谨慎操作)。
Snap应用会保留旧版本(位于/var/lib/snapd/snaps
),占用大量空间。使用以下脚本清理:
sudo snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
该脚本会删除所有Snap应用的旧版本,仅保留最新版。
若系统使用LVM(逻辑卷管理),可通过扩展逻辑卷来增加空间(适用于未分配空间充足或已添加新硬盘的情况):
sudo fdisk -l # 查看物理磁盘情况
sudo vgdisplay # 查看卷组(VG)剩余空间
sudo lvdisplay # 查看逻辑卷(LV)大小
sudo lvextend -L +100G /dev/mapper/ubuntu--vg-ubuntu--lv # 替换为你的LV路径
sudo pvcreate /dev/sdX # 将新磁盘(如/dev/sdb)初始化为物理卷
sudo vgextend ubuntu-vg /dev/sdX # 将物理卷添加到现有卷组(替换为你的VG名称)
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv # 扩展LV到卷组所有剩余空间
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
sudo xfs_growfs /dev/mapper/ubuntu--vg-ubuntu--lv
df -h # 查看分区大小是否已扩展
sudo lvdisplay # 确认逻辑卷大小已更新
注意:扩展逻辑卷前需确保卷组有足够空间,否则需先扩展卷组。
若现有磁盘无剩余空间且无法通过LVM扩展,可添加新硬盘:
将新硬盘插入计算机(台式机需打开机箱,笔记本需确认接口支持)。
GParted
工具(图形界面)或fdisk
命令划分分区(如/dev/sdb1
);sudo mkfs.ext4 /dev/sdb1 # 或 sudo mkfs.xfs /dev/sdb1
/mnt/newdisk
):sudo mkdir /mnt/newdisk
sudo mount /dev/sdb1 /mnt/newdisk
/etc/fstab
文件):echo "/dev/sdb1 /mnt/newdisk ext4 defaults 0 2" | sudo tee -a /etc/fstab
将原分区中的部分数据(如/home
、/var
)迁移到新分区,以释放原分区空间。
/home
目录、文档、照片),避免误操作导致数据丢失;rm
、lvextend
等命令,需确认路径和参数正确,避免误删系统文件;