نظرة عامة وتوطئة تقنية
تعتبر أداة cpio إحدى الركائز الأساسية التي يعتمد عليها نظام لينكس في معالجة حزم ملفات النظام المبدئية (initramfs) وإدارة النسخ الاحتياطي بكفاءة عالية. يهدف هذا الدليل التطبيقي إلى تمكين مديري الأنظمة ومطوري لينكس من التحكم الكامل بالأداة عبر استكشاف أوضاع عملها الثلاثة: الإخراج وإنشاء الأرشيف (-o)، الاستخراج واسترجاع البيانات (-i)، والنسخ المباشر بين المجلدات (-p)، مع استعراض نتائج التنفيذ الفعلي لكل خيار برمجي مستخدم.
1. تثبيت حزمة cpio وتأسيس الأرشيف الأولي (وضع copy-out)
لبدء التطبيق العملي على توزيعة أوبونتو، نحتاج أولاً إلى تحديث فهرس الحزم البرمجية ثم تنصيب حزمة cpio على النظام عبر الأوامر التالية:

بعد اكتمال التثبيت، ننشئ مساراً مخصصاً للاختبارات وننتقل إليه، ثم نولد ملفين نصيين لاستخدامهما في تجارب الأرشفة:

تتميز أداة cpio بآلية معالجة تعتمد كلياً على قراءة مسارات الملفات عبر مجرى الإدخال القياسي (standard input) لتحويلها إلى كتلة أرشيفية متكاملة أو فكها.
نقوم هنا بتمرير قائمة الملفات المتوفرة في المجلد الحالي عبر الأنبوب (pipeline) لدمجها وحفظها في ملف أرشيف موحد باسم archive.cpio:
⚙️ [الخيارات التشغيلية الجوهرية]
-o (--create) : يضبط الأداة على وضع الإخراج (copy-out) بهدف تكوين أرشيف جديد بناءً على تدفق أسماء الملفات المدخلة.-i (--extract) : يُفعل وضع الاستخراج (copy-in) المسؤول عن قراءة ملف الأرشيف وتفريغ محتوياته إلى القرص.-p (--pass-through) : يُشغل وضع النقل المباشر (copy-pass) لنسخ شجرة الملفات بين المجلدات فورياً دون الحاجة لكتابة ملف أرشيف وسيط.-v (--verbose) : يعرض بيانات مفصلة على الشاشة للملفات التي تتم معالجتها خطوة بخطوة.-t (--list) : يطبع فهرس الملفات المحفوظة داخل الأرشيف للاطلاع عليها دون استخراجها.-d (--make-directories) : يتولى إنشاء المجلدات الفرعية الضرورية تلقائياً أثناء عملية الاسترجاع عند عدم وجودها.-u (--unconditional) : يجبر النظام على استبدال وكتابة الملفات حتى وإن وُجدت نسخ سابقة منها بنفس الاسم.-H (--format) : يحدد النسق الهيكلي للأرشيف مثل نسق crc و newc أو tar.

وللتأكد من سلامة العملية وحجم الملف الناتج بصيغة سهلة القراءة، نفحص خصائص الأرشيف archive.cpio:

2. فحص المحتويات وتنفيذ استعادة البيانات (وضع copy-in)
قبل الشروع في تفريغ الأرشيف، يُنصح دائماً بالتحقق من هيكلية المحتويات الداخلية والصلاحيات دون استخراجها فعلياً، وذلك بدمج المفتاحين -t و -v.
يتم إرسال محتوى الأرشيف عبر الإدخال القياسي لمعاينته والتأكد من سلامته المسبقة:

ننتقل بعد ذلك إلى مرحلة الاسترجاع الفعلي؛ ولضمان بيئة عمل معزولة، نقوم بإنشاء مجلد مخصص للاستعادة والانتقال إليه مباشرة:

نقوم بتشغيل الأمر cpio -idv لقراءة الأرشيف وتفريغ الملفات بالكامل داخل مجلد العمل الحالي.
يتكامل هنا الخيار -d لبناء أي أدلة شجرية ناقصة بصورة آلية مع الخيار -v لمتابعة تدفق الملفات المسترجعة لحظياً:

للتحقق النهائي من اكتمال استعادة الملفات ببياناتها الصحيحة، نستعرض تفاصيل المجلد المستهدف:

3. استنساخ شجرة المجلدات فورياً (وضع copy-pass)
لإجراء تجربة استنساخ المسارات الشجرية مباشرة، نبدأ بإنشاء مجلد فرعي داخل دليل المصدر ونضيف بداخله ملفاً نصياً جديداً:

بعدها نؤسس المجلد الهدف الذي ستُنقل إليه البنية الكاملة:

بالدخول إلى مجلد المصدر، نعتمد على أداة find لتتبع جميع العناصر وإرسالها عبر مسار تدفق الأوامر لتطبيق وضع النقل الفوري (-p) نحو المجلد الوجهة دون تخزين أرشيف وسيط.
تضمن إضافة المعامل -d إنشاء الأدلة الفرعية ذاتياً، بينما يحافظ المعامل -m على التواريخ الزمنية الأصلية للتعديل، مع إظهار تقرير الإنجاز عبر المعامل -v:

للتأكد من مطابقة شجرة الملفات المنقولة في الدليل المستهدف لكافة العناصر المصدرية، نقوم بعمل استعراض عودي شامل:

4. إعداد أرشيف بالنسق القياسي (SVR4/CRC) والدمج مع ضغط gzip
في هذه المرحلة، نلجأ إلى الأمر find لتغذية cpio بمسارات الملفات من أجل بناء أرشيف متوافق مع معيار newc (المعتمد في بيئات إقلاع نواة لينكس)، ونربطه مباشرة عبر الأنبوب بأداة gzip بأعلى مستوى للضغط (-9) لإنتاج الحزمة المضغوطة initramfs_sample.cpio.gz:

للتحقق من البنية الثنائية والتأكد من مطابقة الملف الناتج لصيغة البيانات المضغوطة عبر gzip، نطبق الأمر file:

لتجربة استرجاع هذه الحزمة المضغوطة، نؤسس دليلاً جديداً مخصصاً وننتقل إليه:

باستخدام الأداة zcat لفك ضغط التدفق وبثه مباشرة إلى الإدخال القياسي لأمر الاستعادة في cpio -idv، نسترجع محتويات الحزمة دفعة واحدة دون الحاجة إلى فك الضغط في ملف منفصل على القرص:

عقب إتمام معالجة البيانات، نقوم بسرد كامل المحتويات بما يشمل العناصر المخفية للتثبت من دقة استرجاع الملفات الأصلية دون أي فقدان:

قدّم هذا الدليل استعراضاً عملياً شاملاً للمفاتيح الأساسية لأداة cpio في نظام أوبونتو، مبيناً كيفية دمجها مع أدوات النظام وأنابيب المعالجة لإدارة الأرشيفات والنسخ الاحتياطي بكفاءة وموثوقية متناهية في بيئات العمل الاحترافية.