डेटा अखंडता और cksum की उपयोगिता
लिनक्स परिवेश में नेटवर्क ट्रांसफर या बैकअप प्रक्रियाओं के उपरांत डेटा का सुरक्षित और अपरिवर्तित रहना अत्यंत आवश्यक माना जाता है। किसी भी फाइल में अनपेक्षित बदलाव या करप्शन का समय रहते पता लगाना सिस्टम एडमिनिस्ट्रेटर की मुख्य प्राथमिकताओं में शामिल है। इस ट्यूटोरियल में हम Ubuntu 24.04 के इन-बिल्ट cksum यूटिलिटी की मदद से विभिन्न एल्गोरिदम का उपयोग करके फाइल अखंडता (File Integrity) को व्यावहारिक रूप से जाँचना सीखेंगे।
एकल फ़ाइल पर बुनियादी cksum का निष्पादन
प्रयोग के लिए एक अलग टेस्ट डायरेक्टरी तैयार करके उसमें प्रवेश करने हेतु mkdir -p ~/cksum_demo && cd ~/cksum_demo रन करें।

चेकसम विश्लेषण के उद्देश्य से डमी टेक्स्ट फ़ाइल जनरेट करने के लिए echo 'Hello Ubuntu cksum test' > original.txt कमांड चलाएँ।

cksum टूल निर्दिष्ट फ़ाइल की बाइट गणना और विशिष्ट चेकसम मान उत्पन्न करके डेटा की प्रामाणिकता सुनिश्चित करता है।
कंसोल पर दिखने वाला पहला अंक 32-बिट CRC चेकसम वैल्यू को दर्शाता है, जबकि दूसरा अंक फ़ाइल के वास्तविक आकार (24 बाइट्स) को इंगित करता है।
⚙️ [महत्वपूर्ण विकल्प]
-a, --algorithm : पारंपरिक CRC के अतिरिक्त md5, sha1 अथवा sha256 जैसे आधुनिक क्रिप्टोग्राफ़िक एल्गोरिदम का चयन करने के लिए।-c, --check : पहले से तैयार चेकसम इंडेक्स फ़ाइल पढ़कर सभी लक्षित फ़ाइलों का एक साथ स्वतः सत्यापन करने हेतु।--untagged : एल्गोरिदम टैग हटाकर केवल चेकसम और फ़ाइल नाम को रिवर्स फ़ॉर्मेट में प्रदर्शित करने के लिए।--base64 : हेक्साडेसिमल प्रारूप की जगह डाइजेस्ट को Base64 स्ट्रिंग में एन्कोड करने हेतु।--raw : परिणाम को मानव-पठनीय पाठ के बजाय बाइनरी बाइट्स में सीधे आउटपुट करने के लिए।

फ़ाइलों की तुलना और अनधिकृत बदलावों की पहचान
परीक्षण के समानांतर एक हूबहू प्रतिलिपि तैयार करने के लिए cp original.txt copy.txt निष्पादित करें।

डेटा में जानबूझकर बदलाव की स्थिति का अनुकरण करने हेतु मूल फ़ाइल की कॉपी बनाकर उसमें अतिरिक्त टेक्स्ट जोड़ने के लिए cp original.txt modified.txt && echo 'unexpected change' >> modified.txt चलाएँ।

तैयार की गई सभी फाइलों का सामूहिक विश्लेषण करने के लिए cksum original.txt copy.txt modified.txt निष्पादित करें।
परिणाम में स्पष्ट दिखाई देता है कि original.txt और copy.txt की सामग्री समरूप होने के कारण उनका चेकसम (306207352) तथा बाइट साइज़ (24) शत-प्रतिशत समान है।
इसके विपरीत, फेरबदल की गई modified.txt का चेकसम (633487654) और आकार (42) पूरी तरह बदल जाता है, जिससे फ़ाइल में किसी भी अनधिकृत हस्तक्षेप को तुरंत पकड़ा जा सकता है।

पाइपलाइन तथा मानक इनपुट (stdin) डेटा का सत्यापन
पाइपलाइन (|) की सहायता से मेमोरी में मौजूद लाइव डेटा स्ट्रीम का सीधा विश्लेषण करने के लिए echo 'Streaming text data' | cksum कमांड चलाएँ।
यह तकनीक बिना किसी अस्थायी फ़ाइल को डिस्क पर लिखे, डेटा स्ट्रीम का तात्कालिक चेकसम (1759270211) एवं बाइट गणना (20) प्रस्तुत कर देती है।

कई फ़ाइलों को संपीड़ित संग्रह में बदलने के तुरंत बाद उसकी अखंडता सुरक्षित करने के लिए tar -cf demo_archive.tar original.txt copy.txt && cksum demo_archive.tar का प्रयोग करें।
निर्मित demo_archive.tar आर्काइव का चेकसम (2343346160) और उसका संपूर्ण आकार (10240 बाइट्स) टर्मिनल पर सफलता से दर्ज हो जाता है।

आधुनिक एल्गोरिदम (SHA256, MD5) एवं चेकसम फ़ाइल द्वारा सत्यापन
-a sha256 फ्लैग के साथ अधिक सुरक्षित हैश तैयार करके उसे रीडायरेक्शन (>) ऑपरेटर द्वारा फ़ाइल में सुरक्षित करने हेतु cksum -a sha256 original.txt > original.sha256 चलाएँ।

दर्ज रिकॉर्ड की संरचना देखने के लिए cat original.sha256 रन करें।
फ़ाइल के भीतर लक्षित फ़ाइल नाम के साथ मानक टैग प्रारूप में 64 अक्षरों का सुदृढ़ SHA256 हैश डाइजेस्ट व्यवस्थित रूप से संग्रहीत मिलता है।

संग्रहीत डाइजेस्ट के आधार पर फ़ाइल अखंडता की स्वचालित पुष्टि करने के लिए cksum -c original.sha256 चलाएँ।
वर्तमान स्थिति और रिकॉर्ड किए गए मान का पूर्ण मिलान होने पर सिस्टम original.txt: OK रिपोर्ट करता है, जो यह प्रमाणित करता है कि फ़ाइल अपनी मूल अवस्था में पूर्णतः सुरक्षित है।

इस गाइड में हमने उबंटू परिवेश में cksum यूटिलिटी का उपयोग करते हुए डेटा अखंडता की बुनियादी से लेकर उन्नत स्तर तक जाँच करने की विधियों को समझा।
फ़ाइल ट्रांसफर, बैकअप बहाली अथवा सिस्टम माइग्रेशन के दौरान किसी भी डेटा त्रुटि से बचने के लिए यह कमांड एक बेहद त्वरित और भरोसेमंद समाधान प्रदान करती है।