الصفحة الرئيسية » howto » ما هي ميزة استخدام تنسيق ملف القطران اليوم؟

    ما هي ميزة استخدام تنسيق ملف القطران اليوم؟


    إن تنسيق أرشفة القطران في السنوات الحوسبية ، هو Methuselah حقيقي ومع ذلك فهو لا يزال يستخدم بكثافة اليوم. ما الذي يجعل تنسيق القطران مفيدًا بعد فترة طويلة من بدايته?

    تأتي جلسة الأسئلة والأجوبة اليوم مقدمة من SuperUser-a subdivision of Stack Exchange ، وهي مجموعة مجتمعية مدفوعة من مواقع Q & A.

    السؤال

    قارئ SuperUser MarcusJ لديه فضول حول شكل القطران ولماذا لا نزال نستخدمه بعد كل هذه السنوات:

    أعلم أن القطران تم إعداده لأرشيفات الشريط مرة أخرى في اليوم ، ولكن اليوم لدينا تنسيقات ملفات أرشيف تقوم بتجميع الملفات وإجراء الضغط داخل نفس تنسيق الملف المنطقي.

    الأسئلة:

    • هل توجد جزاء أداء أثناء مراحل التجميع / الضغط / إلغاء الضغط لاستخدام القطران المغلف في gzip أو bzip2 ، عند مقارنته باستخدام تنسيق ملف يقوم بعملية تجميع وضغط في نفس بنية البيانات؟ نفترض أن وقت تشغيل الضاغط الذي يتم مقارنته متطابق (على سبيل المثال ، gzip و Deflate متشابهان).
    • هل هناك ميزات تنسيق ملف tar التي لا تحتوي على تنسيقات ملفات أخرى ، مثل .7z و. zip?
    • نظرًا لأن tar عبارة عن تنسيق ملف قديم ، وتوجد تنسيقات ملفات أحدث حاليًا ، فلماذا لا يزال tar (سواء تم تغليفه في gzip أو bzip2 أو حتى xz الجديد) مستخدمًا على نطاق واسع حاليًا على جنو / لينكس و Android و BSD وغير ذلك من أنظمة UNIX أنظمة التشغيل ، لنقل الملفات ، مصدر البرامج والتنزيلات الثنائية ، وفي بعض الأحيان حتى كتنسيق مدير حزم?

    هذا سؤال معقول تماما. لقد تغير الكثير في عالم الحوسبة في الثلاثين سنة الماضية ، لكننا ما زلنا نستخدم تنسيق القطران. ما القصة?

    الاجابة

    مساهِّم SuperUser يقدم Allquixotic بعض التبصر في طول عمر ووظيفة تنسيق القطران:

    الجزء 1: الأداء

    في ما يلي مقارنة بين عمليتين منفصلتين للعمل وماذا يفعلان.

    لديك ملف على القرص blah.tar.gz وهو ، على سبيل المثال ، 1 غيغابايت من البيانات المضغوطة gzip والتي ، عند فك ضغطها ، تشغل 2 غيغابايت (لذا فإن نسبة الضغط 50٪).

    الطريقة التي ستقوم بإنشائها ، إذا كنت تريد القيام بالأرشفة والضغط بشكل منفصل ، ستكون:

    tar cf blah.tar files… 

    وهذا من شأنه أن يؤدي إلى blah.tar وهو مجرد تجميع لل ملفات ...  في شكل غير مضغوط.

    ثم ستفعل

    gzip blah.tar 

    هذا من شأنه قراءة محتويات blah.tar من القرص ، ضغطها من خلال خوارزمية ضغط gzip ، اكتب المحتويات blah.tar.gz, ثم إلغاء ربط (حذف) الملف blah.tar.

    الآن ، دعونا فك الضغط!

    الطريق 1

    عندك blah.tar.gz, بشكل او بأخر.

    أنت تقرر تشغيل:

    gunzip blah.tar.gz 

    هذا سوف

    • قم بقراءة محتويات البيانات المضغوطة البالغة 1 جيجا بايت blah.tar.gz.
    • معالجة البيانات المضغوطة من خلال غزيب إلغاء ضغط في الذاكرة.
    • نظرًا لأن ذاكرة التخزين المؤقتة تملأ قيمة البيانات "كتلة" ، فاكتب البيانات غير المضغوطة في الملفblah.tar على القرص وتكرار حتى تتم قراءة كافة البيانات المضغوطة.
    • إلغاء ارتباط (حذف) الملف blah.tar.gz.

    الآن لديك blah.tar على القرص ، وهو غير مضغوط ولكنه يحتوي على واحد أو أكثر من الملفات داخله ، مع انخفاض كبير في هيكل البيانات. حجم الملف هو على الارجح بضع بايت أكبر من مجموع كل بيانات الملف سيكون.

    أنت تركض:

    tar xvf blah.tar 

    هذا سوف

    • قم بقراءة 2 جيجا بايت لمحتويات البيانات غير المضغوطة الخاصة بـ blah.tar و ال قطران هياكل البيانات تنسيق الملف ، بما في ذلك معلومات حول أذونات الملف ، أسماء الملفات ، الدلائل ، وما إلى ذلك.
    • الكتابة إلى القرص 2GB من البيانات بالإضافة إلى البيانات التعريفية. يتضمن ذلك: ترجمة بنية البيانات / بيانات التعريف إلى إنشاء ملفات وأدلة جديدة على القرص حسب الحاجة ، أو إعادة كتابة الملفات والدلائل الموجودة مع محتويات البيانات الجديدة.

    مجموع البيانات نحن اقرأ من القرص في هذه العملية كان 1GB (ل gunzip) + 2GB (للقطران) = 3GB.

    مجموع البيانات نحن WROTE إلى القرص في هذه العملية كان 2GB (لبندقية) + 2GB (للقطران) + بضعة بايت لبيانات التعريف = حوالي 4GB.

    الطريق 2

    عندك blah.tar.gz, بشكل او بأخر.

    أنت تقرر تشغيل:

    القطران xvzf blah.tar.gz 

    هذا سوف

    • قم بقراءة محتويات البيانات المضغوطة البالغة 1 جيجا بايت blah.tar.gz, كتلة في وقت واحد ، إلى الذاكرة.
    • معالجة البيانات المضغوطة من خلال غزيب إلغاء ضغط في الذاكرة.
    • عندما تملأ ذاكرة التخزين المؤقت ، سوف يضخ تلك البيانات ، في الذاكرة ، من خلال إلى قطران محلل تنسيق الملف ، الذي سيقرأ المعلومات حول البيانات الوصفية ، وما إلى ذلك ، وبيانات الملفات غير المضغوطة.
    • كما يملأ المخزن المؤقت للذاكرة في قطران محلل الملف ، ستقوم بكتابة البيانات غير المضغوطة على القرص ، عن طريق إنشاء الملفات والدلائل وملئها بالمحتويات غير المضغوطة.

    مجموع البيانات نحن اقرأ من القرص في هذه العملية كان 1GB من البيانات المضغوطة ، الفترة.

    مجموع البيانات نحن WROTE إلى القرص في هذه العملية كان 2GB من البيانات غير مضغوط + بضعة بايت لبيانات التعريف = حوالي 2GB.

    إذا لاحظت ، مقدار القرص I / O في الطريق 2 هو مطابق إلى القرص I / O يؤديها ، قل ، و الرمز البريدي أو7 زيب البرامج ، وضبط أي اختلافات في نسبة الضغط.

    وإذا كانت نسبة الضغط هي مصدر قلقك ، فاستخدم XZ ضاغط لتغليف قطران, ولديك أرشيف LZMA2'ed TAR ، وهو بنفس كفاءة الخوارزمية الأكثر تقدمًا المتوفرة 7 زيب :-)

    الجزء الثاني: الميزات

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

    الجزء 3: التوافق

    يتم توزيع العديد من الأدوات في شكل مصدر أو ثنائي مثل .tar.gz أو .tar.bz2 لأنه تنسيق ملف "أدنى مشترك مشترك": يشبه إلى حد كبير معظم مستخدمي Windows الوصول إلى .zip أو .rar decompressors ، معظم عمليات تثبيت Linux ، حتى أبسط ، سيكون الوصول إلى ما لا يقل عن القطران والبندقية ، بغض النظر عن العمر أو قلص. حتى البرامج الثابتة الروبوت الوصول إلى هذه الأدوات.

    يمكن للمشاريع الجديدة التي تستهدف الجماهير التي تقوم بتشغيل التوزيعات الحديثة أن توزع بشكل جيد للغاية في شكل أكثر حداثة ، مثل .tar.xz (باستخدام تنسيق ضغط Xz (LZMA) ، الذي يضغط أفضل من gzip أو bzip2) ، أو .7z ، وهو مشابه تنسيقات ملف Zip أو Rar في أنه كلاهما يضغط ويحدد تخطيط لتغليف ملفات متعددة في ملف واحد.

    لا تشاهد .7z مستخدمًا في الغالب للسبب نفسه الذي لا يتم بيع الموسيقى من مخازن التنزيل عبر الإنترنت بتنسيقات جديدة تمامًا مثل Opus أو الفيديو في WebM. التوافق مع الأشخاص الذين يديرون أنظمة قديمة أو أساسية جدًا.


    هل لديك شيء تضيفه إلى الشرح؟ الصوت قبالة في التعليقات. هل ترغب في قراءة المزيد من الإجابات من مستخدمي Stack Exchange الآخرين المحترفين بالتكنولوجيا؟ تحقق من موضوع المناقشة الكامل هنا.