تنسيق أرشيف TAR

يوفر تنسيق أرشيف tar طريقة موثوقة لتخزين الملفات. فهو يحافظ على البيانات الأصلية بايت بايت، مع إضافة رأس 512 بايت في البداية. يتم أيضًا ضبط أحجام الملفات لتتناسب بشكل أنيق مع كتل بحجم 512 بايت. ومن المثير للاهتمام أن الرأس يتضمن مجموعًا اختباريًا مدمجًا لاكتشاف الأخطاء. في حين أن الأداة المساعدة tar القياسية قد تتخطى الرؤوس التالفة (وبالتالي الملفات المرتبطة)، فإنها ستستمر في معالجة بقية الأرشيف، مما يضمن استمرار قدرتك على الوصول إلى الملفات غير التالفة.

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

يتم إنشاء تنسيق ملف tar، وهو اختصار لـ “أرشيف الشريط”، بواسطة الأداة المساعدة tar في أنظمة UNIX. إنه بمثابة أرشيف لتجميع الملفات معًا للقيام بمهام مثل النسخ الاحتياطي أو التوزيع. على عكس تنسيقات الأرشيف المضغوطة، تقوم ملفات tar بتخزين ملفات متعددة، تُعرف أيضًا باسم tarball، بتنسيق غير مضغوط إلى جانب البيانات الوصفية حول الأرشيف. على الرغم من أن ملفات tar نفسها ليست مضغوطة، إلا أنه يمكن ضغطها باستخدام أدوات مساعدة مثل gzip أو bzip2 للتخزين والنقل بكفاءة.
نظرًا لأن تنسيق ملف tar نفسه لا يتضمن ضغطًا مدمجًا، فغالبًا ما يتم ضغط أرشيفات tar باستخدام أدوات مساعدة خارجية مثل gzip وbzip2 وXZ (باستخدام خوارزميات الضغط 7-Zip / p7zip LZMA / LZMA2)، وBrotli، وZstandard. ، وأدوات مماثلة. يساعد هذا الضغط على تقليل حجم الأرشيف لتسهيل النقل والنسخ الاحتياطي الفعال للبيانات. قد تحتوي الملفات المضغوطة الناتجة عن هذه العملية على امتدادات فردية مثل tgz، أو tbz، أو txz، أو tzst، أو امتدادات مزدوجة مثل tar.gz، أو tar.br، أو tar.bz2، أو tar.xz، أو tar.zst.

تطور تنسيق أرشيف TAR

لقد تطور تنسيق أرشيف القطران بمرور الوقت. أدت الميزات الجديدة التي تمت إضافتها إلى الأداة المساعدة tar منذ الثمانينات إلى امتدادات التنسيق التي تتضمن معلومات إضافية لتحسين الوظائف. افتقرت تنسيقات القطران المبكرة إلى الاتساق في كيفية تخزين الحقول الرقمية، ولكن تمت معالجة هذه المشكلة في الإصدارات اللاحقة لتحسين إمكانية النقل. بدأ هذا التحسن مع أول معيار POSIX لتنسيقات tar في عام 1988.
قدم POSIX.1 2001 تنسيق “القطران الممتد” (المعروف أيضًا باسم tar.h أو pax). هذا التنسيق هو الأكثر مرونة، حيث يتضمن وظائف من مواصفات القطران الأخرى. يسمح للبائعين بإضافة ميزات مخصصة باستخدام العلامات. بينما تسلط الوثائق الضوء على أنه ليس كل تطبيقات tar يمكنها التعامل مع هذا التنسيق بشكل مثالي، فإن تصميمها يضمن أن أي أداة قادرة على قراءة أرشيفات “ustar” يمكنها أيضًا قراءة معظم أرشيفات “posix”. بالإضافة إلى ذلك، ألغى POSIX.1 2001 الحد السابق لحجم الملف وهو 8 جيجابايت لأرشيفات القطران.

هيكل تقرير التقييم الثالث

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

  • اسم الملف (100 بايت): اسم الملف المخزن في هذا الإدخال.
  • أذونات الملف (8 بايت): أذونات الوصول إلى الملف، ممثلة كسلسلة ثماني.
  • معرف المالك (8 بايت): معرف المستخدم الرقمي لمالك الملف (التنسيق الثماني).
  • معرف المجموعة (8 بايت): معرف المجموعة الرقمي لمالك الملف (التنسيق الثماني).
  • حجم الملف (12 بايت): حجم الملف بالتنسيق الثماني.
  • وقت آخر تعديل (12 بايت): الطابع الزمني الثماني لآخر تعديل للملف.
  • المجموع الاختباري (8 بايت): قيمة المجموع الاختباري المستخدمة للتحقق من سلامة بيانات الرأس.
  • نوع الملف (1 بايت): يشير إلى نوع الملف المخزن (ملف عادي، رابط ثابت، أو رابط رمزي).
  • اسم الملف المرتبط (طول متغير): إذا كان الإدخال عبارة عن رابط (ثابت أو رمزي)، فإن هذا الحقل يخزن اسم الملف المرتبط.

فوائد هذا التنسيق

  • تعدد الاستخدامات - TAR هو تنسيق متعدد الاستخدامات قادر على تخزين ملفات وأدلة متعددة في ملف أرشيف واحد، مما يجعله مناسبًا لمختلف احتياجات النسخ الاحتياطي والتوزيع.
  • الحفاظ على سمات الملف يحافظ TAR على سمات الملف المهمة مثل الأذونات والملكية والطوابع الزمنية، مما يضمن احتفاظ البيانات المؤرشفة بسلامتها وسهولة استخدامها.
  • البساطة - بنية ملفات TAR بسيطة ومباشرة، مما يجعل من السهل التعامل معها ومعالجتها. يؤدي ذلك إلى تبسيط برمجة وأتمتة المهام المتعلقة بأرشيفات TAR.

العمليات المدعومة لأرشيف TAR

Aspose.ZIP يسمح للمستخدم باستخراج إما إدخال معين أو أرشيف كامل. بالنسبة إلى Aspose.ZIP for .NET، يمكنك استخدام TarArchiveClass لفتح ملف .tar.gz ثم تكرار إدخالاته واستخراجها إلى الموقع المطلوب. بالنسبة إلى Aspose.ZIP for Java، هناك طريقة مماثلة باستخدام TarArchive لفتح ملف .tar.gz واستخراج الإدخالات.

ملف TAR - الهيكل الداخلي

تقوم ملفات المقطع بتخزين البيانات الأولية حول مقطع ما. على الرغم من وجود أنواع مختلفة من المقاطع، فإن ملفات TAR تفرق فقط بين البيانات والمقاطع المجمعة. يتم حفظ المقاطع المجمعة مباشرةً “كما هي” في ملف TAR.
ومع ذلك، يتم فحص شرائح البيانات للعثور على مراجع لشرائح أخرى أو محتوى ثنائي خام. يتم تخزين هذه المراجع ببساطة كقائمة من المعرفات الفريدة (UUIDs) داخل مقطع البيانات. يمكن تحديد موقع المقاطع المشار إليها إما داخل ملف TAR الحالي أو خارجيًا.
يتم العثور على المراجع الداخلية عن طريق فحص فهرس ملف TAR. تتطلب المراجع الخارجية أداة خارجية لتحديد موقع المقطع في ملف TAR آخر. يتم تخزين قائمة المقاطع المرجعية في مقطع البيانات في ملف الرسم البياني لاسترجاعها بشكل أسرع. يتم الاحتفاظ بهذه القائمة مرتبة لتحسين عملية البحث.

ملف TAR - الهيكل الداخلي

هيكل الأرشيف الداخلي

  • بيانات تعريف الملف - على غرار أرشيف tar، يقوم كل ملف بتخزين المعلومات الأساسية مثل وقت التعديل والأذونات. ومع ذلك، فإن هذا القسم مرن ويسمح بحذف أو تضمين تفاصيل إضافية مثل قوائم التحكم في الوصول (ACLs) أو السمات الموسعة (EAs) بناءً على احتياجاتك. يوصى بتضمين وظيفة تجزئة قوية (مثل SHA1) للملفات العادية لضمان سلامة البيانات.
  • تدفقات محتوى متعددة - على عكس الأرشيفات التقليدية، يمكن أن تحتوي الملفات على أكثر من تدفق بيانات واحد داخل ملف البيانات الداخلي. يعد هذا مفيدًا لتخزين السمات الموسعة أو تشعبات الموارد المرتبطة بالملف.
  • الرؤوس - يحتوي ملف الفهرس الداخلي على رؤوس الملفات، مما يعكس تلك المنتشرة في ملف البيانات الداخلي. ولكن، عند تخزينها بشكل منفصل، يجب أن تشير رؤوس الفهرس إلى موضع البداية للبيانات المقابلة لها داخل ملف البيانات. بالإضافة إلى ذلك، تسرد إدخالات الدليل في الفهرس ملفاتها المضمنة والإزاحات المقابلة لها داخل فهرس الملفات الداخلي.
  • الأساس المنطقي لتكرار البيانات الوصفية - يضمن اختيار التصميم هذا تدفق/فك تشفير البيانات بشكل فعال والوصول العشوائي إلى الملفات. بالإضافة إلى ذلك، يتم ضغط بيانات التعريف بشكل جيد، مما يؤدي إلى الحد الأدنى من الحمل الزائد للتخزين. تظهر الاختبارات أن البيانات الوصفية تشغل عادة أقل من 0.3% من مساحة التخزين، مما يجعل المقايضة جديرة بالاهتمام.
  • رؤوس الكتل - تحتوي رؤوس الكتل، المشابهة للملف الخارجي، على معلومات حجم الكتلة وتسلسل معرف فريد.

أمثلة على استخدام TAR

يتيح Aspose.ZIP API استخراج الأرشيفات في تطبيقاتك دون الحاجة إلى أي تطبيقات أخرى تابعة لجهات خارجية. يوفر Aspose.ZIP API فئة TarArchive للعمل مع أرشيفات TAR.

Add entries to existing TAR archive via C#

All you need to do is open archive for extraction and add entry to archive .

    using (TarArchive archive = new TarArchive(existing.tar))
    {
        archive.CreateEntry("one_more.bin", data.bin);
        archive.Save(added.tar);
    }

Delete entries from existing TAR archive via .net

Entries of tar archive can be deleted with similar DeleteEntry methods.

using (var archive = new TarArchive("two_files.tar"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.tar");
}

Add files to TAR archive without compression

Tar is a file archival format used to group multiple files and directories into a single archive file without compression , unlike formats like ZIP, RAR and others. To create a tar archive without specifying any compression settings, simply use a TarArchive instance.

    using (FileStream tarFile = File.Open("joint.tar", FileMode.Create))
    {
        FileInfo fi1 = new FileInfo("text.txt");
        FileInfo fi2 = new FileInfo("picture.png");
        using (TarArchive archive = new TarArchive())
        {
            archive.CreateEntry("text.txt", fi1);
            archive.CreateEntry("picture.png", fi2);
            archive.Save(tarFile);
        }
    }

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

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

معلومات إضافية حول أرشيفات TAR

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

1. ما هو أرشيف TAR؟

أرشيف TAR، وهو اختصار لـ Tape Archive، هو تنسيق ملف يستخدم لتجميع ملفات وأدلة متعددة في ملف أرشيف واحد دون ضغط. يتم استخدامه بشكل شائع لأغراض النسخ الاحتياطي والتوزيع في الأنظمة المستندة إلى Unix.

2. ما هي فوائد أرشيفات TAR؟

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

3. ما هي بعض القيود المفروضة على أرشيفات TAR؟

على الرغم من أن TAR هو تنسيق ملفات متعدد الاستخدامات يُستخدم بشكل شائع لأرشفة الملفات وتوزيعها في الأنظمة المستندة إلى Unix، إلا أنه يأتي مع بعض القيود التي يجب الانتباه إليها. أولاً، يفتقر TAR إلى إمكانات الضغط المضمنة، مما يعني أنك ستحتاج إلى أدوات إضافية مثل gzip أو bzip2 لتقليل أحجام الملفات. ثانيًا، لا توفر أرشيفات TAR ميزات تشفير أصلية، لذا إذا كنت بحاجة إلى أمان البيانات، فسيتعين عليك الاعتماد على أدوات خارجية لحماية كلمة المرور. وأخيرًا، يتمتع TAR بدعم محدود للحفاظ على سمات الملف مثل الطوابع الزمنية والأذونات من الملفات الأصلية، مما قد يؤثر على سلامة البيانات المؤرشفة.