Introduction
Dans l’administration de systèmes Linux, s’assurer qu’un document ou une archive n’a subi aucune altération après un transfert réseau ou une sauvegarde constitue un réflexe essentiel. Cet article pratique détaille l’utilisation de l’utilitaire natif cksum sous Ubuntu 24.04 pour générer des empreintes numériques fiables et authentifier rigoureusement l’intégrité de vos ressources disques.
Prise en main de cksum et calcul sur un fichier unique
Pour débuter cet atelier dans un environnement isolé, initialisons un dossier de travail dédié via la commande mkdir -p ~/cksum_demo && cd ~/cksum_demo.

Générez ensuite un fichier texte basique servant d’échantillon à l’aide de l’instruction echo 'Hello Ubuntu cksum test' > original.txt.

L’outil cksum inspecte le contenu du fichier désigné pour en déduire sa signature numérique ainsi que son volume exact en octets.
Le premier bloc numérique retourné correspond à la somme de contrôle CRC 32 bits, tandis que le second indique la taille physique du fichier (soit 24 octets dans ce cas précis).
⚙️ [Options essentielles]
-a, --algorithm : Sélectionne l’algorithme cryptographique de hachage souhaité (par exemple md5, sha1, sha256) en remplacement du CRC standard.-c, --check : Parse un fichier d’empreintes préenregistrées pour contrôler automatiquement la conformité d’une série de fichiers.--untagged : Formate la sortie selon le standard classique inversé (empreinte suivie du nom), sans préfixe d’algorithme.--base64 : Encode le digest résultant en base64 plutôt qu’au format hexadécimal usuel.--raw : Restitue l’empreinte calculée directement sous forme d’octets bruts binaires.

Comparaison multi-fichiers et détection d’altérations
Concevons d’abord un duplicata rigoureusement identique avec la commande cp original.txt copy.txt.

Afin de simuler une corruption de données, dupliquons la source tout en y injectant une chaîne supplémentaire via cp original.txt modified.txt && echo 'unexpected change' >> modified.txt.

Lancez maintenant l’analyse globale des trois fichiers en exécutant cksum original.txt copy.txt modified.txt.
Les fichiers original.txt et copy.txt, partageant rigoureusement le même contenu, affichent une valeur de contrôle identique (306207352) et une taille équivalente (24).
À l’inverse, l’élément modifié modified.txt renvoie une somme différente (633487654) et un gabarit plus élevé (42), révélant immédiatement une divergence dans les données.

Contrôle à la volée via les flux standards (stdin)
Il est tout à fait possible de raccorder un flux de texte à cksum à l’aide d’un tube (|) grâce à echo 'Streaming text data' | cksum.
Cette approche permet de vérifier l’empreinte (1759270211) et le métrage en octets (20) d’un flux dynamique sans solliciter le stockage disque avec des fichiers temporaires.

Pour consolider plusieurs éléments dans un conteneur et inspecter immédiatement son état, exécutez tar -cf demo_archive.tar original.txt copy.txt && cksum demo_archive.tar.
L’archive demo_archive.tar ainsi produite présente une empreinte CRC de 2343346160 pour un total de 10240 octets.

Utilisation d’algorithmes renforcés (SHA256) et vérification par fichier d’empreinte
En appliquant le commutateur -a sha256, vous pouvez calculer le hash SHA256 de original.txt et rediriger ce résultat vers un fichier dédié avec original.sha256.

Inspectez la structure du fichier de somme nouvellement généré en lançant cat original.sha256.
Le document consigne lisiblement le digest SHA256 composé de 64 caractères hexadécimaux, accompagné du nom du fichier cible selon le schéma de marquage standard.

Enfin, déléguez l’audit de conformité à cksum -c original.sha256.
Le programme recalcule l’empreinte du fichier local, la confronte à la signature archivée et renvoie la mention explicite original.txt: OK, confirmant l’absence totale de dégradation.

Vous disposez désormais des compétences clés pour tirer profit de la commande cksum sous Linux Ubuntu. Ce mécanisme simple et performant s’avère précieux pour certifier l’intégrité de vos fichiers critiques lors de vos déploiements et procédures de maintenance.