/ home, / usr, / var 등의 디렉토리가 모두 동일한 inode 번호 (2)를 갖는 이유는 무엇입니까?


31

내 루트 디렉토리에는 동일한 inode 번호를 가진 일부 디렉토리가 있습니다.

$ ls -aid */ .*/

2 home/ 2 tmp/ 2 usr/ 2 var/ 2 ./ 2 ../ 1 sys/ 1 proc/

나는 디렉토리의 이름이 부모 디렉토리에 보관되고 디렉토리의 데이터는 디렉토리 자체의 inode에 보관된다는 것을 알고 있습니다.

혼란 스러워요.

이것이 경로 이름 / home / user1을 추적 할 때 생각하는 것입니다.

  • 먼저 디렉토리 목록을 포함하는 루트 디렉토리 인 inode 2로 들어갑니다.
  • 그런 다음 집 이름이 inode 2와 쌍을 이루고 있습니다.
  • 디스크로 돌아가서 inode 2를 찾으십니까?
  • 그리고 여기에 user1이라는 이름이 있습니까?

답변:


39

그들은 다른 장치에 있습니다.

의 출력을 보면 stat파일이있는 장치도 볼 수 있습니다.

# stat / | grep Inode
Device: 801h/2049d      Inode: 2           Links: 24
# stat /opt | grep Inode
Device: 803h/2051d      Inode: 2           Links: 5

따라서이 두 장치는 별도의 장치 / 파일 시스템에 있습니다. Inode 번호는 파일 시스템 내에서만 고유하므로 여기서 특별한 것은 없습니다. ext2 / 3 / 4에서 inode 2 는 항상 루트 디렉토리 이므로 각 파일 시스템의 루트임을 알고 있습니다.

장치 번호와 inode의 조합은 전체 시스템에서 고유 할 수 있습니다. (전통적인 의미로 inode가없는 파일 시스템이 있지만 어쨌든 여전히 고유 식별자를 위조해야한다고 생각합니다.)

장치 번호는 장치 노드에 표시된 것과 동일하게 나타나므로 /dev/sda1파일 시스템이있는 위치를 유지하십시오 /.

# ls -l /dev/sda1
brw-rw---- 1 root disk 8, 1 Sep 21 10:45 /dev/sda1

고마워, 이제 나에게 유용한 통계를 얻었고, 그것을 사용하는 법을 배울 것이다.
youxiao

1
레코드의 경우, 모든 파일 시스템은 동적으로 inode를 할당 할 때에도 동등한 것을 갖습니다. 예를 들어, BTRFS (ext2 / 3 / 4의 정적 inode 테이블과 달리 동적 inode 할당을 수행함)에서 이와 같이 사용되는 특정 inode 값은 256입니다 (낮은 항목은 메타 데이터 트리의 특수 항목을 위해 예약되어 있기 때문에) .
Austin Hemmelgarn

1
@AustinHemmelgarn에서 FAT 또는 ISO9660과 같은 일부 파일 시스템에는 의미있는 의미의 inode가 없습니다. 파일 시스템 드라이버는 다른 시스템을보기 위해 약간의 손쉬운 작업을 수행합니다.
Mark

@Mark : 표준에 따라 정의 된 "단어의 의미있는 의미"는 "파일 일련 번호 [장치 내 고유]"입니다. 디스크상의 특정 데이터 구조로 아이 노드를 생각하는 것은 ttys를 기계적 텔레타이프 (teletype)로서 생각하는 것만큼이나 거꾸로 있습니다.
R ..

1
@R .., 그 정의에 따르면 FAT 파일 시스템에 inode가 있다고 가정하지만 FAT 파일 시스템의 주어진 파일에 대한 "파일 일련 번호"는 마운트간에 안정적이지 않거나 단일 마운트에서 시간이 지남에 따라 안정적이지 않습니다. 캐시에서 합성 된 inode 구조를 제거하고, 다음 번에 inode 데이터를 요청할 때 파일이 새로운 번호를 얻습니다.
Mark

24

주어진 파일의 inode 번호는 파일 시스템에 고유하지만 주어진 호스트에 마운트 된 모든 파일 시스템에 반드시 고유하지는 않습니다. 파일 시스템이 여러 개인 경우 파일 시스템간에 중복 된 inode 번호가 표시되는데 이는 정상입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.