温馨提示×

Ubuntu分区时磁盘空间不足怎么办

小樊
61
2025-09-27 04:18:23
栏目: 云计算

Ubuntu分区时磁盘空间不足的解决方法

一、优先清理冗余文件释放空间

在尝试扩展分区前,先通过清理系统冗余文件快速释放空间,避免不必要的磁盘操作风险。

1. 查看磁盘使用情况,定位大空间占用

使用df -h命令查看各分区使用率(重点关注/根分区、/home用户分区、/boot引导分区),找到使用率超过80%的分区;用du -sh *(当前目录)或ncdu /(全系统可视化分析,需安装sudo apt install ncdu)定位具体占用大的目录(如/var/log日志目录、/home/user/Downloads下载文件夹)。

2. 清理APT缓存与旧软件包

APT包管理器的缓存(.deb文件)会占用/var/cache/apt/archives目录大量空间,运行以下命令清理:

  • 彻底清理所有缓存:sudo apt-get clean
  • 仅清理过期缓存(保留最近版本):sudo apt-get autoclean
  • 自动移除不再需要的依赖包:sudo apt autoremove

3. 清理旧内核文件

Ubuntu升级时会保留旧内核(存放在/boot分区),过多旧内核会导致分区空间耗尽。操作步骤:

  • 查看当前使用的核心内核:uname -r(如5.15.0-88-generic务必保留);
  • 列出所有已安装内核:dpkg -l | grep linux-image
  • 删除旧内核(排除当前使用的版本):sudo apt-get purge linux-image-x.x.x-xx-generic(替换为旧版本号)。

4. 清理日志与临时文件

  • 系统日志(/var/log):用sudo journalctl --vacuum-time=3d删除超过3天的旧日志,或手动删除/var/log/*.log(谨慎操作,避免删除正在使用的日志);
  • 缩略图缓存:rm -rf ~/.cache/thumbnails/*(删除用户缩略图缓存);
  • 临时文件:sudo rm -rf /tmp/*(清理系统临时文件)。

5. 卸载不常用软件与Snap旧版本

  • 卸载未使用的应用程序:sudo apt remove 软件名(如sudo apt remove vlc);
  • 清理Snap应用的旧版本:运行以下脚本删除旧版本(保留最新版):
    snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do
      sudo snap remove "$snapname" --revision="$revision"
    done
    

二、扩展磁盘空间的常用方法

若清理后仍空间不足,可通过调整分区或添加硬件资源扩展容量。

1. 使用GParted图形化工具调整分区

GParted是Ubuntu下常用的分区管理工具,支持调整分区大小、移动分区等操作:

  • 安装:sudo apt install gparted
  • 启动:sudo gparted(需管理员权限);
  • 操作步骤:
    1. 选择需要扩展的分区(如/dev/sda1,需确保该分区未被挂载或系统未使用);
    2. 右键点击“调整大小/移动”,拖动滑块扩大分区(需右侧有未分配空间);
    3. 点击“应用”完成操作(操作前务必备份重要数据)。

2. 利用LVM(逻辑卷管理)扩展

若系统使用LVM(逻辑卷管理),扩展更灵活,无需删除数据:

  • 扩展逻辑卷:sudo lvextend -L +50G /dev/ubuntu-vg/root(将root逻辑卷增加50GB,需替换为实际路径);
  • 调整文件系统大小:sudo resize2fs /dev/ubuntu-vg/root(针对ext4文件系统,xfs需用xfs_growfs)。

3. 添加新硬盘

若现有硬盘无未分配空间,可添加新硬盘:

  • 物理连接:将新硬盘插入电脑(台式机需关机操作,笔记本需确认接口支持);
  • 识别硬盘:sudo fdisk -l(查看新硬盘设备名,如/dev/sdb);
  • 分区与格式化:
    • 使用sudo fdisk /dev/sdb创建分区(按提示操作,选择“n”新建分区、“w”保存);
    • 格式化分区:sudo mkfs.ext4 /dev/sdb1(ext4格式,可根据需求选其他格式);
  • 挂载与开机自动挂载:
    • 创建挂载点:sudo mkdir /mnt/newdisk
    • 临时挂载:sudo mount /dev/sdb1 /mnt/newdisk
    • 设置开机自动挂载:获取分区UUID(sudo blkid /dev/sdb1),编辑/etc/fstab文件(sudo vim /etc/fstab),添加一行:
      UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/newdisk ext4 defaults 0 2
      
    • 测试配置:sudo mount -a(无报错则生效)。

注意事项

  • 备份数据:所有磁盘操作(如删除文件、调整分区)前,务必备份重要数据(可使用rsync或外部存储设备);
  • 系统分区限制/boot分区(通常为ext4格式,容量约500MB-1GB)空间不足时,需优先清理旧内核或扩展该分区;
  • LVM优势:若系统初始使用LVM,后续扩展更便捷,建议新系统安装时选择LVM分区方案。

0