Pregunta ¿Cómo verificar la integridad del archivo entre dos versiones del mismo archivo?


En los últimos años (desde ~ 2000) he estado moviendo y copiando datos entre discos de vez en cuando. Los datos son MP3, aplicaciones, videos, copias de seguridad, correos electrónicos de todo y han sido movidos / copiados entre varios discos (¡y matrices de discos!) Y entre varios sistemas de archivos FAT, NTFS, ReiserFS, Ext3, Ext4, jfs ...

Recientemente me llamó la atención que algunos archivos RAR, algunos ejecutables (que son archivos comprimidos en realidad) y quizás otros archivos que no he notado aún, están corruptos. No sé si hay un patrón aquí solo entre los archivos comprimidos. Supongo que no está confinado solo allí.

Para comenzar con algo, verifiqué la integridad de los archivos rar en mi servidor de archivos linux usando find junto con el comando:

unrar t <rar files>

Esto es bueno, pero no puedo verificar todos mis archivos de integridad como este, y menos aún todos mis otros archivos (documentos, fotografías, MP3, WAV, ZIP, la lista es interminable)

Me gustaría verificar todos los archivos de varias maneras.

  1. La verificación del sistema de archivos es obviamente buena, pero realmente no puede ayudar si los datos ya estaban corruptos antes de ser copiados en el disco en el que residen actualmente, ¿no? el sistema de archivos actual es JFS.

  2. ¿Podría el segundo nivel de comprobación ser sumas de comprobación MD5? Tengo copias de seguridad de todos mis datos y podría intentar hacer coincidir las sumas de comprobación, pero ¿los archivos corruptos me darían diferentes sumas de comprobación? Esto aún no resuelve el problema si un archivo estaba dañado antes de la última copia de mis datos.

  3. ¿Qué más podría estar revisando para tener un poco de tranquilidad?

  4. Hay una gran trampa al comparar mis datos con mis copias de seguridad; como con todo lo vivo, mis datos han "cambiado" con el tiempo y las copias de seguridad son instantáneas a tiempo que nunca más cambiaron después. Por un lado, la estructura del directorio ha cambiado, obviamente los archivos han sido eliminados o transferidos a otras ubicaciones. Obviamente será un desastre usando el comando find para hacer coincidir un archivo entre el árbol de respaldo y el árbol actual!

Entonces, ¿alguien ha tratado algo similar y puede tener scripts (usando locate u otros) que pueden encontrar y utilizar rápidamente las entradas indexadas de los archivos?


0


origen




Respuestas:


MD5/SHA las sumas de comprobación son el estándar de oro para verificar la integridad de archivos en estos días. Si tiene los originales para crear las sumas de comprobación, o ya tiene las sumas de comprobación, esa sería la más completo forma de verificar los contenidos de los archivos. Sin embargo, esto puede ser tedioso si tiene tantos archivos como parezca sugerir.

Además, el RAR, ZIPy 7Z los formatos de archivo deben contener la suma de comprobación CRC32 de todos los archivos almacenados. Esto es más débil (es decir, es más probable que los datos dañados no se detecten) que MD5 o SHA, pero aún puede detectar si hay corrupción al extraer un archivo, lo que significa que el archivo está dañado. Estos se verifican automáticamente cada vez que extrae un archivo de un archivo. unrar -t <rar files> básicamente es solo probar las sumas de comprobación CRC32 para cada archivo en el archivo.

Además, las herramientas de archivo deberían darle la opción de generar un .sfv archivo al compilar un archivo, que es un CRC32 adicional del archivo como un todo. Puede usar esto para verificar aún más la integridad de un archivo.

Si está copiando archivos de un sistema de archivos a otro, puede usar algo como una herramienta especializada para verificar que la copia fue exitosa y correcta. Para Windows uso TeraCopy - Simplemente habilite la opción 'verificar' antes de comenzar la copia, y TeraCopy volverá a leer los archivos copiados para verificar que realmente se escribieron en el disco correctamente en su nueva ubicación.


2



¡Hola! gracias por aclarar la Q2, investigaré las opciones de verificación para copiar en Linux (ya que esto es lo que está ejecutando mi servidor de archivos). - nass
¡No hay problema! Es posible que tenga más suerte al dividir sus subpreguntas en preguntas separadas en este sitio, donde pueden centrarse en lugar de agruparse. Q3 no es una pregunta que realmente encaje aquí (es más una expedición de pesca, mientras que este sitio está diseñado para preguntas específicas), pero Q4 es algo que podría preguntarse por sí solo si no se ha preguntado aquí. - Darth Android