inode 번호의 순서는 어떻게 작동합니까? 다른 컴퓨터에서 동일한 설치의 일관성을 기대할 수 있습니까?

inode 번호의 순서는 어떻게 작동합니까? 다른 컴퓨터에서 동일한 설치의 일관성을 기대할 수 있습니까?

나는 동일한 운영 체제와 소프트웨어 설치를 수행하는 3대의 컴퓨터 A, B, C를 가지고 있습니다. A의 특정 파일에 대해 B와 C의 동일한 파일에 대한 해당 파일의 인스턴스가 동일한 inode 번호를 가질 것으로 예상할 수 있습니까?

우리의 침입 탐지 시스템은 A에서 초기 파일 시스템 이미지를 가져온 다음 동일한 파일 시스템 이미지를 사용하여 A, B 및 C와 향후 비교를 수행하여 설정됩니다. 저는 이 프로그램을 처음 접했지만 과거에는 이 방법이 효과가 있었던 것 같습니다.

inode 번호 정렬이 어떻게 작동하는지 모르기 때문에 1부터 시작하여 각 파일을 계산하는 등의 작업을 수행하는 것으로 추측됩니다. 그렇다면 이것이 아마도 파일 inode 번호가 과거와 심지어 컴퓨터에서도 일관되었던 이유일 것입니다. 동일한 파일이 동일한 순서로 생성됩니다. 우리가 항상 그것에 의존할 수 있을지는 모르겠지만.

그러나 이제 일부 파일이 변경되었다는 알림을 받고 있으며 첫 번째 파일에서 내가 보고 있는 것은 변경된 파일 inode 번호뿐입니다. 누군가가 컴퓨터에 운영 체제와 소프트웨어를 다시 설치하고 알림을 보낸 것 같습니다.

동일한 운영 체제/소프트웨어를 다른 컴퓨터에 설치하는 경우(또는 동일한 컴퓨터에 순차적으로 다시 설치하는 경우) 파일 inode 번호가 동일한 것으로 간주될 수 있습니까?

A, B 또는 C에서 새 파일 시스템 이미지를 얻는다면 그것이 내 "문제"(문제인지 확실하지 않음)를 해결할 것으로 기대할 수 있습니까?

저는 보통 한 번에 1~2대의 컴퓨터에만 접근할 수 있기 때문에 지금은 A나 C를 확인할 수 없고 그들의 보고서가 어떻게 보일지 모르겠습니다. 내가 아는 것은 컴퓨터 B에 예상치 못한 inode 번호를 가진 파일이 최소한 1개 있다는 것뿐입니다.

이 경우 운영 체제는 QNX 6입니다. 파일 시스템 유형의 경우 mount/dev/hd 파일이 "on/type qnx4"라고 알려주세요. 그러면 파일 시스템 유형이 qnx4인가요? qnx가 자체 파일 시스템 유형을 갖고 있는 것 같은데요? 나는 이것을 깨닫지 못했습니다. 아니면 정확하지 않을 수도 있습니다. 파일 시스템 유형을 확인하는 다른 명령은 컴퓨터에 존재하지 않는 것 같습니다.

고쳐 쓰다: 제가 뭔가 잘못 알고 있었던 것 같습니다. 파일 시스템의 원래 상태에 대한 참조 데이터에는 파일의 inode 번호가 포함되어 있고 이를 테스트에 포함할 수 있는 옵션이 있지만 질문에 설명된 검사에 inode 데이터를 포함해서는 안 됩니다. 그렇게 하세요.” “통”이 바로 그것 때문이다. 그래서 제가 여기서 요구하는 것은 실제로 필요하지 않습니다. 죄송합니다. 그래도 여전히 흥미롭고 댓글에서 일부 답변이 이미 시작되었으므로 질문을 열어 두겠습니다.

답변1

[...] 그리고 저는 동일한 운영 체제와 소프트웨어 설치를 수행합니다.

A의 특정 파일에 대해 B와 C의 동일한 파일에 대한 해당 파일의 인스턴스가 동일한 inode 번호를 가질 것으로 예상할 수 있습니까?

아니요. I/O는 병렬로 실행되고 I/O 작업 순서는 정의되지 않으며 하드웨어 작업의 영향을 받기 때문입니다. 운영 체제는 inode 번호를 할당하며, 특정 작업이 시스템 A와 B에서 다른 순서로 실행되는 경우 운영 체제는 "동일한" 파일에 다른 inode 번호를 할당할 수 있습니다.

유사한 아티팩트는 /dev/동일한 시스템에서도 재부팅 시 할당 일관성이 보장되지 않는다는 것입니다. /dev/sdb즉, 현재의 내용이 /dev/sda마지막 부팅 시의 내용일 수 있습니다.

A, B 또는 C에서 새 파일 시스템 이미지를 얻는다면 그것이 내 "문제"(문제인지 확실하지 않음)를 해결할 것으로 기대할 수 있습니까?

이는 문제가 되지 않습니다(문제로 전환하지 않는 한). 예, 전체 파일 시스템 이미지를 복사하면 동일한 inode 번호를 갖게 됩니다.

파일 시스템의 원래 상태에 대한 참조 데이터에는 파일의 inode 번호가 포함되어 있고 이를 테스트에 포함하도록 선택할 수 있지만 질문에 설명된 검사에 inode 데이터를 포함해서는 안 됩니다.

정확히. 대답은 "아니요, 신뢰할 수 없으므로 문제가 될 수 있으므로 테스트해서는 안 됩니다."입니다.

관련 정보