Btrfs는 각 파일에 대한 crc32c 체크섬을 계산합니다. 파일을 읽고 다시 계산하는 것이 아니라 어떤 체크섬이 저장되어 있는지 볼 수있는 방법이 있습니까?
Btrfs는 각 파일에 대한 crc32c 체크섬을 계산합니다. 파일을 읽고 다시 계산하는 것이 아니라 어떤 체크섬이 저장되어 있는지 볼 수있는 방법이 있습니까?
답변:
Btrfs는 각 파일에 대한 crc32c 체크섬을 계산합니다.
이것은 정확하지 않습니다. 오픈 소스 체크섬 파일 시스템 (ZFS 및 BTRFS)은 모두 각 논리 블록에 대한 체크섬을 계산합니다 (명명되지 않은 소스 Awe가 올바른 것임). 이것은 디스크상의 데이터의 체크섬입니다.
파일 시스템에서 압축이 활성화 된 경우 (일반적인 설정)이 체크섬은 압축 후의 데이터입니다. 이것은 파일이 하나의 논리 블록에 들어가더라도 파일 시스템의 체크섬 데이터가 쓸모 없을 가능성이 있다는 것을 의미합니다.
파일 체크섬이 필요한 경우 파일 체크섬을 계산하는 것이 가장 좋습니다.
수퍼 유저의 비슷한 답변에서 :
ZFS 파일 시스템에서 블록 레벨 체크섬을 추출 할 수는 없지만 체크섬은 파일 레벨이 아닌 블록 레벨이므로 어쨌든 도움이되지 않을 것입니다.
의미. 체크섬은 파일별로 btrfs에 의해 작성되지 않습니다. @superuser는 inspect-internal 하위 명령에 기능을 추가하는 패치가 있다고 언급합니다. btrfs inspect-internal dump-csums 주어진 파일이 차지하는 모든 블록에 대해이 블록을 덤프합니다. 파일이 하나의 블록에 맞지 않는 한 복수형.
나는 이것이 btrfs CLI를 통해 가능하지 않다고 생각하지만 여기 에 btrfs 파일 시스템의 단일 블록에 대한 chechsum을 읽는 데 도움이 될 수있는 소스 코드가 있습니다. 루트가 필요합니다.