دليل أداة cksum في أوبونتو للتحقق من سلامة الملفات

نظرة عامة

تعد سلامة البيانات ركيزة أساسية في إدارة أنظمة لينكس، لا سيما بعد إتمام عمليات النقل الشبكي أو استرجاع النسخ الاحتياطية لتفادي أي تلف أو تلاعب غير مصرح به. يستعرض هذا الدليل التطبيقي خطوات استخراج المجاميع التحققية (Checksums) وفحص سلامة الملفات بدقة في بيئة أوبونتو 24.04 بالاعتماد على الأداة المدمجة cksum.

الاستخدام الأساسي لأداة cksum وحساب المجموع لملف واحد

نبدأ بتهيئة مسار تجريبي مستقل لتنفيذ الأوامر بسلاسة، وذلك بإنشاء مجلد والولوج إليه مباشرة عبر تشغيل الأمر mkdir -p ~/cksum_demo && cd ~/cksum_demo.

إنشاء مجلد العمل والانتقال إليه

نقوم الآن بتوليد ملف نصي تجريبي لاعتماده في اختبارات التحقق اللاحقة عن طريق كتابة: echo 'Hello Ubuntu cksum test' > original.txt.

إنشاء ملف تجريبي لاختبار التحقق

تعمل أداة cksum على حساب القيمة الرياضية للتحقق وحجم الملف بالبايت، مما يتيح لك التأكد من سلامة بنيته الرقمية.
تظهر النتيجة في خانتين أساسيتين: يمثل الرقم الأول ناتج تدقيق دوري لنواقل البيانات (32-bit CRC)، في حين يعبر الرقم الثاني عن الحجم الفعلي للملف مقاساً بالبايت (24 بايت).
⚙️ [أبرز الخيارات والوسائط]

-a, --algorithm : تحديد خوارزمية التشفير أو الفحص المفضلة مثل md5 أو sha1 أو sha256 بدلاً من المعيار التلقائي CRC.
-c, --check : قراءة قائمة المجاميع التحققية من ملف معين ومقارنتها تلقائياً مع الملفات المستهدفة دفعة واحدة.
--untagged : إخراج النتيجة بالصيغة القياسية المعكوسة دون إدراج وسم اسم الخوارزمية، بحيث يظهر ناتج التحقق واسم الملف فقط.
--base64 : ترميز ناتج الفحص بنظام base64 عوضاً عن التمثيل السداسي عشري المعتاد.
--raw : استخراج ناتج الفحص بصيغة بايتات خام ثنائية (Binary).

تنفيذ أمر cksum على ملف تجريبي

مقارنة ملفات متعددة ورصد التغييرات والتلاعب

لإنشاء نسخة مطابقة تماماً للملف الأصلي لغرض المقارنة، ننفذ الأمر cp original.txt copy.txt.

نسخ الملف الأصلي للمقارنة

ولمحاكاة وقوع تلاعب أو تغيير غير مرغوب فيه على المحتوى، نقوم بنسخ الملف الأصلي ثم إلحاق سطر إضافي به عبر تشغيل: cp original.txt modified.txt && echo 'unexpected change' >> modified.txt.

تعديل نسخة من الملف لاختبار كشف التلاعب

بإمكاننا فحص كافة الملفات دفعة واحدة ومقارنة قيم التحقق وأحجامها عبر تشغيل الأمر cksum original.txt copy.txt modified.txt.
يُلاحظ هنا التطابق التام في بصمة التحقق (306207352) والحجم (24) بين الملف الأصلي original.txt ونسخته copy.txt.
في المقابل، أسفر التعديل الطفيف على 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 لاستخراج بصمة التجزئة للملف original.txt ثم نوجه النتيجة إلى ملف مستقل عبر الرمز (>) من خلال الأمر cksum -a sha256 original.txt > original.sha256.

توليد بصمة SHA256 وحفظها في ملف

لمعاينة تركيبة البصمة المحفوظة، نطلب عرض محتويات الملف عبر تشغيل cat original.sha256.
يُعرض السجل بتنسيق قياسي يشتمل على اسم الملف المستهدف مقترناً ببصمة تجزئة SHA256 المكونة من 64 خانة بنظام الوسم المعتمد.

عرض محتوى ملف البصمة التجزئية

لأتمتة الفحص والتحقق من مطابقة البيانات للقيم المسجلة مسبقاً، نستخدم الخيار -c بتنفيذ الأمر cksum -c original.sha256.
تُطابق الأداة البصمة المحسوبة آنياً بالقيمة المدونة داخل السجل، لتؤكد رسالة original.txt: OK بقاء الملف سليماً تماماً دون أي مساس بمحتواه.

فحص سلامة الملفات بالاعتماد على سجل البصمات

استعرضنا في هذا الدليل العملي كيفية توظيف أداة cksum في أوبونتو لإجراء فحوصات السلامة وحساب المجاميع التحققية بمختلف الوسائل.
تشكل هذه التقنيات أداة لا غنى عنها لكل مدير نظام يسعى لضمان سلامة حزم البيانات والنسخ الاحتياطية وتجنب تلف الملفات أثناء النقل.