تنسيق أرشيف CAB

تُستخدم أرشيفات CAB (الخزانة) لحزم الملفات والدلائل بتنسيق مضغوط، مما يسمح لك بتقليل حجم الملفات وتوزيعها بسهولة في حاوية واحدة. يُستخدم هذا التنسيق غالبًا في أنظمة تشغيل Windows لحزم التثبيت وتحديثات البرامج.

حول معلومات أرشيف CAB

يتم استخدام أرشيفات CAB للتخزين الفعال للملفات وتوزيعها، خاصة داخل نظام التشغيل Windows. تستخدم ملفات CAB خوارزميات ضغط متنوعة، بما في ذلك LZX وMSZIP وQuantum، لتقليل حجم الملفات التي تحتوي عليها. يمكن لهذه الأرشيفات تخزين ملفات وأدلة متعددة في ملف مضغوط واحد، مع الحفاظ على بنية الدليل. تُستخدم أرشيفات CAB غالبًا لحزم تثبيت البرامج وتوزيع برامج التشغيل وتحديثات Windows. وهي تدعم التوقيعات الرقمية، مما يسمح بالتحقق من سلامة وصحة الملفات الموجودة في الأرشيف.

معلومات تاريخ CAB

  • 1994: تم تقديم تنسيق الملف CAB بواسطة Microsoft لتسهيل توزيع حزم البرامج والتحديثات.
  • 1995: تم استخدام ملفات CAB في تثبيت التطبيقات في نظام التشغيل Windows 95.
  • 2000: أصبحت ملفات CAB جزءًا لا يتجزأ من تقنية Windows Installer (.msi)، مما ساعد في نشر التطبيقات على Windows 2000.
  • 2001: تم تضمين تنسيق CAB في .NET Framework SDK، مما أدى إلى تعزيز فائدته في بيئات التطوير المختلفة.
  • 2005: قامت Microsoft بتوسيع استخدام CAB مع إصدار Windows XP وWindows Server 2003، واستخدامها في تحديثات النظام وتثبيتات برامج التشغيل.
  • 2008: مع طرح نظامي التشغيل Windows Vista وWindows Server 2008، استمر استخدام ملفات CAB على نطاق واسع في تحديثات Windows وحزم الخدمة.
  • 2012: تم دعم ملفات CAB في نظامي التشغيل Windows 8 وWindows Server 2012، مع الحفاظ على دورها في نشر البرامج وتحديثات النظام.
  • 2021: تظل ملفات CAB جزءًا مهمًا من نظام Windows البيئي، وتُستخدم في نشر برامج التشغيل وتحديثات النظام وعمليات تثبيت البرامج في Windows 11.

هيكل ملف كابيت

CAB هو تنسيق ملف ثنائي مصمم لتخزين عدة ملفات مضغوطة في ملف واحد، مما يجعله مناسبًا لتوزيع البرامج ونشرها. يتكون أرشيف CAB من ثلاثة مكونات أساسية:

  1. الرأس: يحتوي الرأس على بيانات تعريف حول الأرشيف، مثل إجمالي عدد الملفات وعدد المجلدات ومعلومات حول طرق الضغط المستخدمة.
  2. هياكل المجلدات: يمكن أن تحتوي ملفات CAB على هياكل مجلدات متعددة، يمثل كل منها مجموعة منطقية من الملفات. يحتوي كل إدخال مجلد في أرشيف CAB على معلومات حول الملفات التي يحتفظ بها وطريقة الضغط المستخدمة.
  3. بيانات الملف: يتم تخزين بيانات الملف الفعلية في أرشيف CAB، ويتم ضغطها باستخدام إحدى الخوارزميات العديدة المدعومة. عادةً ما يتم تخزين البيانات الخاصة بكل ملف في كتل، مما يسمح بضغط وإلغاء الضغط بشكل فعال.

طرق ضغط CAB

تدعم أرشيفات CAB مجموعة متنوعة من أساليب الضغط لتخزين البيانات بكفاءة. تتضمن طرق الضغط الأساسية ما يلي:

  1. MSZIP: خوارزمية ضغط تعتمد على خوارزمية DEFLATE المستخدمة في ملفات ZIP. يوفر MSZIP توازنًا جيدًا بين نسبة الضغط والسرعة، مما يجعله خيارًا شائعًا لملفات CAB.
  2. الكم: طريقة ضغط قديمة تستخدم في بعض ملفات CAB. الكم أقل شيوعًا اليوم ولكنه تم استخدامه في التطبيقات السابقة لتنسيق CAB.
  3. LZX: خوارزمية عالية الضغط توفر نسبة ضغط أفضل مقارنةً بـ MSZIP ولكن على حساب سرعات ضغط وإلغاء ضغط أبطأ. يعد LZX مناسبًا تمامًا لتقليل حجم حزم البرامج الكبيرة وملفات التثبيت.
  4. غير مضغوطة: يمكن لملفات CAB أيضًا تخزين بيانات غير مضغوطة، وهو أمر مفيد عندما لا يكون الضغط ضروريًا أو عندما يكون الوصول السريع إلى الملفات مطلوبًا.

.cab العمليات المدعومة

  • الاستخراج الكامل: يمكنك استخدام واجهة برمجة التطبيقات (API) لاستخراج جميع الملفات والمجلدات من أرشيف CAB.
  • الاستخراج الانتقائي: استخرج ملفات أو مجلدات معينة بناءً على الأسماء أو المرشحات.
  • الحفاظ على بنية المجلد: تحتفظ الملفات المستخرجة ببنية المجلد الأصلي الخاصة بها داخل أرشيف CAB.

على الرغم من أن Aspose.Zip لا يوفر حاليًا وظائف لإنشاء أرشيفات CAB، إلا أنه يتفوق في استخراج محتوياتها. فيما يلي تفصيل لما يمكنك تحقيقه:

CAB - الهيكل الداخلي

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

  1. Header: يبدأ ملف CAB برأس يحتوي على بيانات تعريف أساسية حول الأرشيف، مثل:

    • التوقيع: يحدد الملف كأرشيف CAB (سلسلة ASCII “MSCF”).
    • الحقول المحجوزة: حقول محجوزة مختلفة للاستخدام المستقبلي أو تفاصيل التنفيذ المحددة.
    • حجم الأرشيف: الحجم الإجمالي لملف CAB.
    • عدد المجلدات: يشير إلى عدد هياكل المجلدات (مجموعات الملفات المنطقية) الموجودة في الأرشيف.
    • عدد الملفات: إجمالي عدد الملفات المخزنة في أرشيف CAB.
    • الإزاحة إلى CFFOLDER الأول: يشير إلى إدخال المجلد الأول داخل الأرشيف.
    • محجوزة: حقول محجوزة إضافية.
  2. بنيات المجلدات: يمكن أن يحتوي كل ملف CAB على بنيات مجلدات متعددة. يوفر كل إدخال مجلد ما يلي:

    • الإزاحة: الموضع داخل ملف CAB حيث تبدأ بيانات هذا المجلد.
    • عدد كتل البيانات: يشير إلى عدد كتل البيانات الموجودة في المجلد.
    • نوع الضغط: يحدد طريقة الضغط المستخدمة للملفات الموجودة في هذا المجلد (على سبيل المثال، MSZIP، LZX).
  3. إدخالات الملف: يتضمن أرشيف CAB إدخالات لكل ملف، مع تفاصيل:

    • الحجم غير المضغوط: الحجم الأصلي للملف قبل الضغط.
    • الإزاحة: الموضع داخل ملف CAB حيث تبدأ بيانات الملف المضغوط.
    • فهرس المجلد: يحدد المجلد الذي ينتمي إليه الملف.
    • السمات: سمات الملف (على سبيل المثال، للقراءة فقط، مخفي).
    • طول اسم الملف: طول اسم الملف.
    • اسم الملف: اسم الملف.
  4. كتل البيانات: يتم تخزين بيانات الملف الفعلية في كتل بيانات مضغوطة. تتضمن كل كتلة:

    • البيانات المضغوطة: بيانات الملف المضغوطة وفقًا للطريقة المحددة (على سبيل المثال، MSZIP، LZX).
    • معلومات فك الضغط: البيانات الوصفية اللازمة لفك ضغط كتلة البيانات، مثل الحجم الأصلي والمضغوط.
  5. البيانات الاختيارية: قد تتضمن بعض أرشيفات CAB بيانات اختيارية إضافية للوظائف الموسعة، مثل:

    • المجاميع الاختبارية للنزاهة: للتحقق من سلامة الأرشيف.
    • التوقيعات الرقمية: للتأكد من صحة الأرشيف.

CAB - الهيكل الداخلي

شعبية CAB والدعم

تُستخدم ملفات CAB على نطاق واسع في نظام التشغيل Windows لتثبيت البرامج والتحديثات وتوزيع برامج التشغيل. توفر Microsoft أدوات مثل MakeCab وExpand وDISM لإنشاء ملفات CAB واستخراجها وإدارتها. توفر ملفات CAB ضغطًا فعالاً، وتتكامل مع Windows Installer، ويمكن استخدامها للأرشيفات متعددة الأجزاء.

أمثلة على استخدام ملفات الخزانة

تقوم أرشيفات CAB بتخزين الملفات في شكل مضغوط باستخدام خوارزميات الضغط مثل LZX أو MSZIP أو Quantum. إنها تسمح لك بتخزين ملفات متعددة في أرشيف واحد مع الحفاظ على بنية الدليل. فيما يلي أمثلة التعليمات البرمجية لتفريغ أرشيفات CAB في C# وJava وPython.Net:

C#

    using (var archive = new CabArchive("installer.cab")) 
    { 
    archive.ExtractToDirectory(@"C:\extracted");
    }

Java

    try (CabArchive archive = new CabArchive("installer.cab")) {
    archive.extractToDirectory("C:\\extracted");
    }

Python.Net

    import aspose.zip as az
    with az.cab.CabArchive('installer.cab') as archive:
        archive.extract_to_directory("C:\\extracted")

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

معلومات إضافية

لقد كان الناس يسألون

1. ما هو ملف CAB وما هو استخدامه؟

ملفات الخزانة هي ملفات أرشيف تستخدمها Microsoft بشكل أساسي للتوزيع والتثبيت الفعال للبرامج ومكونات النظام وبرامج التشغيل. وهي تدعم خوارزميات ضغط متعددة، مثل MSZIP وQuantum وLZX، لتقليل أحجام الملفات مع الحفاظ على تنسيق منظم ومنظم لإدارة الملفات المضمنة.

2. هل يمكن تقسيم ملفات CAB إلى أجزاء متعددة؟

نعم، تدعم ملفات CAB إنشاء أرشيفات متعددة الأجزاء. تعتبر هذه الميزة مفيدة لتوزيع مجموعات البيانات الكبيرة عبر عدة ملفات CAB أصغر، مما يسهل إدارة ونقل كميات كبيرة من البيانات. عند استخراج ملفات CAB متعددة الأجزاء، يجب أن تكون جميع الأجزاء موجودة ويمكن الوصول إليها لإعادة بناء الملفات الأصلية بنجاح.

3. هل يمكنني إنشاء ملف CAB بنفسي؟

على الرغم من أنه من الممكن إنشاء ملفات CAB يدويًا، إلا أنه من الأفضل عمومًا استخدام أدوات متخصصة مثل MakeCab (أداة مساعدة من Microsoft) أو برامج أرشفة أخرى تدعم تنسيق CAB.