weixin_57394401 2021-04-18 20:59 采纳率: 0%
浏览 136

ubutnu tar报错“Cannot open: No space left on device”

本人在1T nvme ssd上装了Ubuntu衍生版本budgie,用作数据分析。

在用tar解压一个包含960万个小文件的tar.gz文件(15G)时,报如下错误:

tar: ./ports/aeb81bfa8129_120.json: Cannot open: No space left on device

开始以为是磁盘空间不足,或者inode耗尽。但通过df -h和df -i命令查看,均远未耗尽。

百思不得其解,求高人指点。

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-07-16 08:05
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    根据您提供的信息,磁盘空间和inode均未耗尽的情况下,可能是由于文件系统的限制导致的问题。 在ext系列的文件系统中,默认情况下,每个文件系统都有一定数量的保留inode,用于系统紧急情况下使用。当磁盘空间不足时,这些保留inode可能导致无法继续创建新文件。这可能是您遇到的问题。 您可以使用`dumpe2fs`命令查看文件系统的保留inode数量,以及是否启用了quota限制。您可以尝试通过增加保留inode的数量或者禁用quota来解决这个问题。 以下是具体的操作步骤:
    1. 查看文件系统的保留inode数量和是否启用了quota:
    sudo dumpe2fs <你的磁盘分区> | grep "Reserved block count\|Block quota\|Inode count"
    
    1. 如果发现保留inode数量较少或者quota已启用,可以使用tune2fs命令来增加保留inode数量或者禁用quota:
    # 增加保留inode数量,例如增加到10%:
    sudo tune2fs -m 10 /dev/<你的磁盘分区>
    # 禁用quota:
    sudo quotaoff -a
    
    1. 重新尝试解压文件并检查是否问题解决。 希望以上方法能够帮助您解决问题。如果问题仍然存在,请提供更多信息以便更好地帮助您。
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵