다음과 같이 /data에 플래시 드라이브 세트(8TB)를 설치했습니다.
/dev/mapper/vg.data-lv.data on /data type ext4 (rw,relatime)
/data에는 여러 디렉터리가 있으며 그 중 하나는 다음과 같습니다 tmp
.
ls -lst /data/
total 1036468
...
1036360 drw-r--r-- 1 secadmin sudo 1061183488 Nov 8 13:10 tmp
...
어떤 이유로 이 폴더 /data/tmp가 제대로 작동하지 않는 것 같습니다. 내용을 수정, 삭제, 나열하려는 모든 시도로 인해 해당 명령이 영원히 유휴/차단되어 결과가 반환되지 않습니다.
# ls /data/tmp
^C
#
# rm -rf /data/tmp
^C
#
fsck.ext4 -fvy
기본 파일 시스템을 확인하기 위해 실행했지만 모든 것이 괜찮은 것 같습니다.
이 디렉터리에 대한 제어권을 다시 얻으려면 어떻게 해야 하며, 이 디렉터리에 대한 제어권을 상실한 근본적인 문제는 무엇입니까?
답변1
@meuh가 쓴 것처럼 이는 수천 또는 수백만 개의 파일 및/또는 하위 디렉터리가 포함된 매우 큰 디렉터리처럼 보입니다. GNU ls
와 rm
도구는 전체 출력을 정렬하거나 다른 방법으로 처리하려고 하기 때문에 이러한 대규모 디렉터리를 처리하는 데 그다지 유용하지 않습니다.
" find /data/tmp -print
"를 사용하여 파일 이름 목록을 생성하거나 " find /data/tmp -ls
"를 사용하여 긴 목록을 얻을 수 있습니다. 디렉토리에 빈 블록이 많지 않은 한 파일 인쇄가 즉시 시작됩니다. 이 경우 " e2fsck -fD <dev>
"를 시도하여 디렉터리를 축소할 수도 있지만 시간이 오래 걸릴 수도 있습니다.
/data/tmp
또한 더 이상 필요하지 않을 때 정리할 수 있도록 너무 많은 파일을 생성하거나 하나의 큰 디렉터리가 아닌 적절한 디렉터리 계층 구조에 넣을 수 있도록 생성하는 항목을 결정하는 것도 유용합니다 .