Guía de cksum en Ubuntu: Integridad y Verificación de Archivos

Fundamentos de la integridad de datos en Linux

Asegurar que los datos conserven su estructura intacta tras una transferencia de red, sincronización o restauración de copias de seguridad es indispensable en la administración de sistemas. En este tutorial práctico sobre Ubuntu 24.04, exploraremos cómo aprovechar la herramienta nativa cksum para generar sumas de comprobación confiables y validar la autenticidad de cualquier archivo en entornos productivos.

Primeros pasos con cksum y cálculo en un único archivo

Para aislar nuestras pruebas en un entorno ordenado, preparamos un directorio de trabajo y accedemos a él mediante mkdir -p ~/cksum_demo && cd ~/cksum_demo.

Creación del directorio de trabajo

A continuación, creamos un archivo de texto base que servirá de muestra utilizando echo 'Hello Ubuntu cksum test' > original.txt.

Generación del archivo de texto

La utilidad cksum examina el archivo byte a byte para devolver un código numérico de integridad junto con su volumen en disco.
En su salida por defecto, la primera cifra representa la suma de redundancia cíclica (CRC de 32 bits), mientras que la segunda indica el tamaño total en bytes (24 bytes en nuestro caso).
⚙️ [Parámetros esenciales]

-a, --algorithm : Selecciona el algoritmo de hash deseado, ofreciendo soporte para estándares como md5, sha1 o sha256 además del clásico CRC.
-c, --check : Lee un archivo con firmas previamente generadas para auditar en lote la consistencia de los elementos listados.
--untagged : Formatea la salida en estilo BSD invertido (hash seguido de la ruta) omitiendo la etiqueta del algoritmo.
--base64 : Representa el valor del digest mediante codificación base64 en vez de la notación hexadecimal habitual.
--raw : Emite el resultado como flujo de bytes binarios directos.

Ejecución básica de cksum

Auditoría comparativa y detección de modificaciones no autorizadas

Procedemos a crear una réplica exacta del fichero original ejecutando cp original.txt copy.txt.

Duplicado idéntico del archivo

Para recrear una corrupción de datos o una edición no deseada, duplicamos nuevamente el documento y le anexamos contenido adicional mediante cp original.txt modified.txt && echo 'unexpected change' >> modified.txt.

Modificación intencional de un fichero

Evaluamos simultáneamente el estado de las tres muestras ejecutando cksum original.txt copy.txt modified.txt.
Los ficheros original.txt y copy.txt producen exactamente el mismo valor de verificación (306207352) y reportan idéntico tamaño (24), lo que ratifica su paridad absoluta.
Por el contrario, el archivo alterado modified.txt revela inmediatamente discrepancias sustanciales tanto en su código (633487654) como en su tamaño (42), permitiendo constatar cualquier manipulación al instante.

Contraste simultáneo de múltiples archivos

Verificación dinámica en pipelines y flujos de entrada estándar (stdin)

No siempre es necesario almacenar datos en el disco para comprobar su integridad; cksum puede procesar directamente cadenas enviadas por consola gracias a echo 'Streaming text data' | cksum.
Esta tubería (|) permite calcular en memoria la firma (1759270211) y el conteo de caracteres (20) de un flujo dinámico de forma inmediata.

Evaluación de datos desde stdin con tubería

Asimismo, resulta muy práctico empaquetar varios archivos en un archivo tar y validar el paquete en una sola línea de comandos mediante tar -cf demo_archive.tar original.txt copy.txt && cksum demo_archive.tar.
El contenedor consolidado demo_archive.tar genera de inmediato su huella digital (2343346160) junto con el peso total de 10240 bytes.

Generación y comprobación de un archivo tar

Criptografía avanzada con SHA256 y validación automatizada

Para escenarios donde se requiere mayor seguridad algorítmica frente a colisiones, el modificador -a sha256 permite derivar el hash SHA256 de original.txt y redirigirlo hacia un fichero de control mediante cksum -a sha256 original.txt > original.sha256.

Cálculo y redirección de hash SHA256

Al consultar el archivo resultante con cat original.sha256, visualizamos su estructura formal: el nombre del algoritmo, el hash criptográfico de 64 caracteres en hexadecimal y la ruta del recurso asociado.

Inspección del archivo de comprobación

Para cerrar el ciclo, delegamos la verificación automática al parámetro -c ejecutando cksum -c original.sha256.
El sistema recalcula el hash actual del fichero y lo compara con el valor de referencia; al coincidir perfectamente, la terminal confirma el estado con original.txt: OK, certificando que el contenido permanece inalterado.

Validación automatizada con parámetro de comprobación

Implementar el comando cksum en las rutinas habituales de mantenimiento bajo Ubuntu garantiza un control certero sobre la fiabilidad de nuestros datos, simplificando la detección temprana de corrupciones en discos o transmisiones remotas.