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 -m
thiế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 -i
chươ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.tar
chứ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ọnrw,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?
chkdsk
trong 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 chkdsk
tôi có thể tạo lại các tập tin. Cảm ơn bạn!
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 ...