Linux - 링크 수가 0인 디렉터리(Rancher 컨테이너)

Linux - 링크 수가 0인 디렉터리(Rancher 컨테이너)

특정 디렉터리에 액세스할 때 Rancher 컨테이너의 셸에서 권한 오류가 발생하지만 권한이 올바르게 설정되어 있습니다. 그런 다음 해당 디렉터리의 링크 수가 다음과 같이 0이라는 것을 확인했습니다. 여기에 이미지 설명을 입력하세요.

그러나 모든 디렉토리의 경우 최소 링크 수는 self .및 parent 2개입니다 ... 그렇다면 여기에 0이 표시되는 이유는 무엇입니까? 난 이해가 안 돼요. 이제 나는 이 쉘이 어떤 inode를 가리키는지 확인하기 위해 이 쉘에 접근할 수 없지만(ls -i) 비어 있을 것이라고 추측합니다(정말 모르겠습니다, TBH).

문제가 해결되면 제거하고 다시 확인해 보겠습니다 mkdir. 하지만 왜 이런 일이 발생하는지 정말 알고 싶습니다.

감사해요! !

추신: Rancher 컨테이너로서 어떤 영향을 미칠지 모르겠습니다.

답변1

POSIX에서는 최소 2개의 링크 수가 필요하며 일반적으로 2 + 하위 디렉터리 수(디렉토리가 rmdir'd가 아닌 경우)가 필요합니다. 디렉토리가 삭제되면 링크 수는 일반적으로 0입니다.

그러나 모든 파일 시스템이 POSIX인 것은 아닙니다. 일반 파일 시스템은 UNIX에서 루트 파일 시스템으로 사용될 수 있지만 btrfs는 루트 파일 시스템으로는 잘 작동하지만 POSIX는 아니기 때문에 유일한 예외입니다.

GNU/Linux(및 기타 모든 POSIX 시스템은 아니지만 대부분)에서 파일 시스템이 POSIX 의미 체계를 따르지 않는 경우 일반적으로 링크 수 1을 사용하며 이는 일반 작업 중에는 발생하지 않습니다(값 0, 2 및 가능하지만 1)은 아닙니다. GNU find와 같은 유틸리티는 링크 수가 1인 특수 디렉토리를 POSIX가 아닌 것으로 처리하여 이에 적응하며 잠재적으로 성능이 저하될 수 있습니다.

귀하의 경우 링크 수가 1이면 이것이 POISIX가 아닌 파일 시스템임을 나타내는 반면, 링크 수가 0이면 합리적인 값이 아니기 때문에 파일 시스템 구현의 버그와 비슷합니다.

관련 정보