Btrfs calcula una suma de comprobación crc32c para cada archivo. ¿Hay alguna manera de ver qué suma de verificación está almacenada (en lugar de solo leer el archivo y volver a calcularlo)?
Btrfs calcula una suma de comprobación crc32c para cada archivo. ¿Hay alguna manera de ver qué suma de verificación está almacenada (en lugar de solo leer el archivo y volver a calcularlo)?
Respuestas:
Btrfs calcula una suma de comprobación crc32c para cada archivo.
Esto no es correcto. Los dos sistemas de archivos de suma de verificación de código abierto (ZFS y BTRFS) calculan una suma de verificación para cada bloque lógico (la fuente sin nombre que Awe usó es correcta). Esta es una suma de comprobación de los datos en el disco.
Si el sistema de archivos tiene habilitada la compresión (una configuración cada vez más común), esta suma de verificación es de los datos después de la compresión. Esto significa que, incluso si el archivo cabe en un bloque lógico, es posible (y cada vez más probable) que los datos de la suma de comprobación del sistema de archivos sean inútiles para usted.
Si necesita una suma de comprobación de archivo, la mejor manera de obtenerla sería calcularla.
De una respuesta similar en superusuario:
No creo que sea posible extraer las sumas de verificación de nivel de bloque de un sistema de archivos ZFS, pero dado que las sumas de verificación están en el nivel de bloque, no en el nivel de archivo, probablemente no te ayudaría de todos modos.
Sentido. Las sumas de verificación no son creadas por archivo por btrfs. Se menciona @superuser, hay un parche para agregar una funcionalidad al subcomando inspect-internal: btrfs inspect-internal dump-csums, esto voltea - para todos los bloques que están ocupados por un archivo determinado - las sumas de verificación de bloque. Plural, a menos que el archivo encaje en un bloque.
Creo que esto no es posible a través de la CLI de btrfs, pero aquí hay un código fuente que, espero, podría ayudarlo a leer chechsum para un solo bloque en un sistema de archivos btrfs. Necesita raíz.