Tại sao báo cáo tar không đủ không gian đĩa khi còn nhiều?


7

Trên hệ thống Ubuntu 14.04, tôi đã cố gắng trích xuất một kho lưu trữ tar:

/media/ntfs-drive/target-dir$ tar --extract -v --file ../source-dir/data.tar

Sau khi trích xuất một số tệp, tar báo cáo rằng không còn đủ dung lượng đĩa, trong khi thực tế có rất nhiều tệp. Đây là đầu ra của df -mthiết bị có liên quan cho thấy còn lại khoảng 86 GByte dung lượng trống:

/dev/sdb5         226966  139075     87892   62% /media/ntfs-drive

Ngoài ra, chỉ có 2% Inodes của ổ đĩa được sử dụng như df -ichương trình:

/dev/sdb5      91114956  1086160 90028796    2% /media/ntfs-drive

Một số thông tin có thể có liên quan:

  • Cả nguồn và thư mục đích đều nằm trên cùng một ổ đĩa NTFS
  • Kho lưu trữ data.tarchứa một số lượng lớn các tệp nhỏ
  • Phân vùng gốc của tôi đã gần đầy (miễn phí 1,4 GByte)
  • mount nói rằng ổ đĩa có liên quan đã được gắn với các tùy chọn rw,nosuid,nodev,allow_other,default_permissions,blksize=4096

Điều gì có thể là lý do cho thông báo lỗi của tar và làm thế nào tôi có thể giải quyết vấn đề này?

Cập nhật

Có vẻ như đây không thực sự là một vấn đề tar, vì hệ thống báo cáo đĩa đã đầy sau khi trích xuất tar không thành công. Ví dụ

touch /media/ntfs-disk/test

thất bại với lỗi không còn đủ dung lượng. Tuy nhiên, như tôi đã mô tả ở trên, có rất nhiều dung lượng đĩa và Inodes còn lại theo df. Có bất kỳ tập tin tạm thời ẩn mà không nhìn thấy df?

Cập nhật 2

Tôi nhận ra rằng tôi có thể thay đổi và tăng tệp trên đĩa nhưng tôi không thể tạo tệp mới. Tôi đã đọc ở đây rằng NTFS hỗ trợ hơn 4 tỷ tệp cho mỗi ổ đĩa. Hiện tại đĩa của tôi chứa khoảng 1 triệu tệp. Nhưng có giới hạn khác về số lượng tập tin không?


1
Tôi nghi ngờ vấn đề liên quan đến NTFS. Tôi không phải là người bản địa ... Có gì ở đây dmesg(8)không? Nếu bạn khởi động lại trong windows và buộc kiểm tra đĩa, tình hình có thay đổi không? Chỉ có lý do khác có thể là quota(8)nhưng tôi không chắc nó sẽ được xử lý như thế nào trong NTFS ...
Matija Nalis

1
@MatijaNalis Tôi chạy chkdsktrong Windows và tiết lộ rằng có rất nhiều tên tệp có chứa :, đó là một nhân vật bất hợp pháp trong Windows. Sau khi chạy chkdsktôi có thể tạo lại các tập tin. Cảm ơn bạn!
Deve

Câu trả lời:


8

GNU tar sử dụng $TMPDIRđể quyết định nơi ghi thông tin tiêu đề mở rộng. Bạn có thể thử cài đặt TMPDIRđể trỏ đến một vị trí có thể ghi trên ổ đĩa lớn của bạn.


Cảm ơn câu trả lời của bạn. Hiện tại tôi không thể xác minh nếu điều này giải quyết được sự cố vì hệ thống hiện báo cáo đĩa đã đầy, xem phần chỉnh sửa của tôi.
Deve
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.