FAT32
Linux Redhat 워크스테이션에서 포맷된 외부 하드 디스크( Mac 디스크 유틸리티로 포맷됨) 로 많은 파일을 전송하는 동안 WD 2 TB
디스크에 남은 공간이 충분하지 않다는 오류가 발생했습니다. 그런데 아직 디스크 공간이 남아있는 것을 확인했는데 ~700 GB
파일 이름이 길어서 디스크 공간이 부족한 것 같습니다(확실하지 않음?). 그것을 확인하는 방법은 무엇입니까?
내 외장 HDD 세부 정보는 다음과 같습니다.
/dev/sdc1 on /media/GUDDULINUX3 type vfat (rw,nosuid,nodev,relatime,uid=988,gid=2000,fmask=0022,dmask=0077,codepage=cp437,iocharset=ascii,s
현재 각 디렉토리에는 파일 사이 에 ~545
무엇이든 포함된 디렉토리가 있습니다 . 각 파일은 크기(du -sh로 확인) 또는 (각각 대략 절반) 크기의 이진 파일 이며 이름은 ( 자 길이)입니다. 파일 크기는 부동 소수점 또는 부동 소수점을 포함하는 바이너리 파일로 간주되므로 괜찮아 보입니다 .~7000
~11000
~32K
96K
XC6_9k.131_132.12.2012.210.s3
29
8000
24000
다른 것이 잘못되었을 가능성이 있습니까? 불행하게도 디렉토리가 소비하는 정확한 디스크 공간을 확인할 수는 없습니다 du -sh
. 시도하는 데 시간이 오래 걸리기 때문입니다.
편집 1- Mac 디스크 유틸리티를 사용하여 외장 하드 디스크를 확인했는데 다음과 같이 표시됩니다.
11361590 files, 1076797472 KiB free (33649921 clusters)
편집 2-
Angelo의 제안에 따라 노트북(Mac)에 연결된 외장 하드 디스크를 사용해 df -h
보았습니다 . df -i
. /Volumes/GUDDULINUX3
무엇을 해야할지에 대한 제안 사항 - 각 디렉토리에 대해 tar
하나의 파일에 작은 파일을 저장하면 inode를 얻을 수 있습니까 tar
? 포맷된 디스크 로 옮겨야 합니까 NTFS
?
avinash$ df -h
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk0s2 233Gi 216Gi 17Gi 93% 56587186 4482254 93% /
devfs 187Ki 187Ki 0Bi 100% 646 0 100% /dev
map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
/dev/disk1s1 1.8Ti 836Gi 1.0Ti 45% 0 0 100% /Volumes/GUDDULINUX3
avinash$ df -i
Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on
/dev/disk0s2 488555536 452185504 35858032 93% 56587186 4482254 93% /
devfs 373 373 0 100% 646 0 100% /dev
map -hosts 0 0 0 100% 0 0 100% /net
map auto_home 0 0 0 100% 0 0 100% /home
localhost:/rGEmV8JCfpffeQBEQFAlLe 488555536 488555536 0 100% 0 0 100% /Volumes/MobileBackups
/dev/disk1s1 3906009792 1752414720 2153595072 45% 0 0 100% /Volumes/GUDDULINUX3
이는 내 Linux 워크스테이션에 연결된 디스크를 사용한 결과이며 inode 정보가 표시되지 않습니다.
seismo82% df -h /media/GUDDULINUX3/
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 1.9T 836G 1.1T 45% /media/GUDDULINUX3
seismo82% df -i /media/GUDDULINUX3/
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdc1 0 0 0 - /media/GUDDULINUX3
편집 3-
inode
와는 작동하지 않는 것 같습니다 FAT32
. 문제는 파일 이름에 따라 달라지는 FAT32
것보다 디렉터리에 있을 수 있는 파일 수에 대한 하한이 있다는 것입니다 . ~65k
먼저, 외부 HDD에 존재하는 많은 파일을 타르로 처리하여 많은 파일 inodes
(또는 FAT32
이에 상응하는 파일)을 확보했습니다. 그러나 여전히 큰 디렉터리(파일이 있음 ~23k
)를 이동하면 "장치에 남은 공간이 없습니다"라는 오류가 표시되었습니다. 그러다가 파일을 개별적으로 옮기는게 아니라 디렉토리를 tar로 만들어서 외부디스크로 옮기는게 가능해졌습니다!!! 확장 디스크에서 압축을 풀려고 하면 오류가 다시 발생했습니다. 그래서 디렉토리의 파일 수에 제한이 있는 것 같습니다. 보다w3dk이에 대한 님의 의견
디렉터리당 최대 파일 수
이동 오류가 발생한 디렉토리를 확인했습니다. 제한은 문자 16383
가 있는 파일 이름의 파일 29
과 문자 21843
가 있는 파일 이름의 파일 로 보입니다 20
. 이론적으로 형식 ~65k
에 이름이 있는 파일만 제한됩니다 8.3
. 문제 진단에 도움을 주신 모든 분들께 감사드립니다. 지금은 내가 가진 모든 것을 타르화하겠습니다.
답변1
FAT32 파일 시스템의 파티션 크기 제한, 파일 크기 제한 및 디렉터리 크기 제한(모두 알고 있는 것처럼 들리지만) 외에도 FAT32 볼륨의 최대 총 파일 수 제한은 268,435,437개입니다. 디렉토리의.
빠르게 계산해 보면 각각 7000개의 파일이 포함된 545개의 디렉터리는 거의 4개입니다.백만파일 - FAT32가 처리할 수 있는 것보다 훨씬 더 많습니다.