내 데비안 시스템에 디렉토리가 있습니다. 디렉토리는 다음과 같습니다:
root@debian:/3/20150626# stat 00
File: `00'
Size: 6 Blocks: 0 IO Block: 4096 directory
Device: fe00h/65024d Inode: 4392587948 Links: 3
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-06-25 20:00:00.086150791 -0400
Modify: 2015-07-07 12:39:04.174903234 -0400
Change: 2015-07-07 12:39:04.174903234 -0400
Birth: -
디렉터리가 비어 있습니다.
root@debian:/3/20150626# ls -al 00
total 0
drwxr-xr-x 3 root root 6 Jul 7 12:39 .
drwxr-xr-x 3 root root 23 Jul 7 12:56 ..
하지만 내 시스템은 그렇게 생각하지 않습니다.
root@debian:/3/20150626# rm -rf 00
rm: cannot remove `00': Directory not empty
왜 이런 일이 일어나고 있는지 전혀 모르겠으며 앞으로 나아갈 길을 찾을 수 없습니다. 누구든지 도와줄 수 있나요?
내가 찾은 이전 질문 중 어느 것도 이 특정 문제를 해결하지 못했습니다. 그러나 유사한 게시물에서 본 몇 가지 문제를 해결하려면 다음을 수행하십시오.
a.) 폴더는 이전에 여러 번 삭제된 많은 폴더를 이전에 생성한 실행 중인 프로세스에 의해 생성되었습니다. 이 특별한 질문이 막혔습니다.
b.) 지금은 이 디렉토리에 아무 것도 기록되어서는 안 됩니다. 나는 이것을 여러 번 확인했지만 ls -al
출력은 항상 아무것도 반환하지 않습니다.
c.) lsof를 확인했는데 디렉토리에 아무것도 열려 있지 않습니다.
root@debian:/3/20150626# lsof 00
root@debian:/3/20150626#
d.) rm
다른 것에 대한 앨리어싱은 없습니다. 이는 데비안과 매우 유사합니다... rm
핵심 Bash 프로그램(예: 등)에 대해 특별한 작업을 수행하지 않습니다.
e.) 이름 변경은 허용되지만 삭제는 여전히 불가능합니다.
root@debian:/3/20150626# mv 00 delete_me
root@debian:/3/20150626# ls -al
total 0
drwxr-xr-x 3 root root 30 Jul 7 13:45 .
drwxr-xr-x 7 root root 105 Jul 7 12:57 ..
drwxr-xr-x 3 root root 6 Jul 7 12:39 delete_me
root@debian:/3/20150626# rm -rf delete_me
rm: cannot remove `delete_me': Directory not empty
root@debian:/3/20150626# ls -al delete_me/
total 0
drwxr-xr-x 3 root root 6 Jul 7 12:39 .
drwxr-xr-x 3 root root 30 Jul 7 13:45 ..
**참고로 앞으로는 "delete_me"라고 부르겠습니다. 이름을 바꿨으므로 그대로 두겠습니다.
f.) 이것은 이것을 실행할 때 반환되는 유일한 디렉토리입니다 find
.
root@debian:/3/20150626# find / -type d -name delete_me
/3/20150626/delete_me
root@debian:/3/20150626# find delete_me
delete_me
g.) lsattr에는 아무것도 표시되지 않습니다.
root@debian:/3/20150626# lsattr
---------------- ./delete_me
답변1
답을 찾았습니다. @JeffSchaller가 제안한 것처럼 링크에 문제가 있습니다. 해결책은 xfs_check를 실행하여 링크가 올바르지 않은지 확인한 다음 xfs_repair를 실행하여 수정하는 것입니다.
- 실행
mount
하여 장치 이름을 확인하세요. 내 것은/dev/mapper/vg3-lv3
umount /3
xfs_check /dev/mapper/vg3-lv3
다음을 반환합니다.link count mismatch for inode 4392587948 (name ?), nlink 3, counted 2
link count mismatch for inode 12983188890 (name ?), nlink 1, counted 2
xfs_repair /dev/mapper/vg3-lv3
이는 링크가 수정되었음을 나타냅니다.resetting inode 4392587948 nlinks from 3 to 2
resetting inode 12983188890 nlinks from 1 to 2
잘못 연결된 다른 인덱스 노드가 있는 것으로 나타났습니다.
모든 도움에 감사드립니다. 하지만 xfs_repair의 흑마법을 사용하여 내 문제가 해결되었습니다.
답변2
폴더/디렉토리의 속성에 "나" - 불변성이 활성화되었습니다! 확인하세요. lsattr 명령은 폴더/디렉토리에 "나"*"를 사용하여 끄면 활성화됩니다.
샤르트르이'폴더'
*'를 선택하여 원하는 작업을 수행할 수 있습니다.