21Aug
شكل الأرشفة القطران هو، في حساب سنوات، ميثوسيلا حقيقية لكنها لا تزال في الاستخدام الكثيف اليوم.ما الذي يجعل تنسيق القطران مفيد جدا بعد فترة طويلة من إنشائه؟
سؤال اليوم & أمب؛تأتي جلسة الجواب إلينا من باب المجاملة، وهو قسم فرعي من برنامج ستاك إكسهانج، وهو عبارة عن مجموعة من مواقع الويب على شبكة الإنترنت.
قارئ أسد
هو السؤال المفاجئ عن شكل القطران ولماذا لا نزال نستخدمه بعد كل هذه السنوات:
أعلم أن تار قد تم إعداده لأرشيفات الشريط مرة أخرى في اليوم، ولكن اليوم لدينا تنسيقات ملفات الأرشيف التي على حد سواءتجميع الملفات وتنفيذ ضغط داخل نفس تنسيق ملف منطقي.
الأسئلة:
- هل هناك عقوبة أداء خلال مراحل إزالة /compression/ التجميعية لاستخدام تار مغلفة في غزيب أو bzip2، عند مقارنتها باستخدام تنسيق ملف لا التجميع والضغط في بنية البيانات نفسها؟نفترض أن وقت تشغيل الضاغط الذي يتم مقارنته متطابق( على سبيل المثال، غزيب و ديفلات متشابهان).
- هل هناك ملامح تنسيق ملف القطران التي تنسيقات الملفات الأخرى مثل. 7z و. زيب لم يكن لديك؟
- منذ القطران هو تنسيق ملف قديم، وأحدث تنسيقات الملفات موجودة اليوم، لماذا القطران( سواء مغلفة في غزيب، bzip2 أو حتى شز جديد) لا تزال تستخدم على نطاق واسع اليوم على غنو / لينكس، الروبوت، بسد، وغيرها من هذا القبيلأنظمة تشغيل أونيكس، لنقل الملفات، مصدر البرنامج والتنزيلات الثنائية، وأحيانا حتى شكل مدير حزمة؟
هذا سؤال معقول تماما.وقد تغير الكثير في عالم الحوسبة في السنوات الثلاثين الماضية ولكن ما زلنا نستخدم تنسيق القطران.ما القصة؟
المساهم المساعد
سوبيروسر يقدم ألكيكسوتيك بعض التبصر في طول العمر ووظيفة تنسيق القطران:
الجزء 1: الأداء
فيما يلي مقارنة بين سيرتين منفصلتين وما يفعلان.
لديك ملف على القرص blah.tar.gz وهو على سبيل المثال 1 غيغابايت من البيانات المضغوطة غزيب والتي، عندما غير مضغوط، تحتل 2 غيغابايت( حتى نسبة ضغط 50٪).
الطريقة التي يمكنك من خلالها إنشاء هذا، إذا كنت للقيام الأرشفة والضغط بشكل منفصل، سيكون:
تار cf blah.tar ملفات. ..وهذا من شأنه أن يؤدي إلى blah.tar الذي هو مجرد تجميع للملفات. .في شكل غير مضغوط.
ثم سوف تفعل
غزيب blah.tarوهذا من شأنه قراءة محتويات blah.tar من القرص، ضغطها من خلال خوارزمية ضغط غزيب، كتابة محتويات إلى blah.tar.gz، ثم إلغاء ربط( حذف) ملف بلاه.قطران.
الآن، دعونا فك الضغط!
الطريق 1
لديك blah.tar.gz، بطريقة أو بأخرى.
عليك أن تقرر تشغيل:
غونزيب blah.tar.gzهذا سوف
- قراءة محتويات البيانات المضغوطة 1GB من blah.tar.gz.
- عملية البيانات المضغوطة من خلال غزيب ديكومبريسور في الذاكرة.
- كما يملأ المخزن المؤقت الذاكرة مع قيمة "كتلة" من البيانات، كتابة البيانات غير مضغوط في fileblah.tar على القرص وتكرار حتى يتم قراءة كافة البيانات المضغوطة.
- إلغاء الربط( حذف) الملف blah.tar.gz.
الآن، لديك blah.tar على القرص، وهو غير مضغوط ولكن يحتوي على واحد أو أكثر من الملفات داخله، مع بنية بيانات منخفضة جدا.حجم الملف هو على الأرجح بضع بايت أكبر من مجموع كل بيانات الملف سيكون.
تقوم بتشغيل:
تار زفف blah.tarسيقوم هذا
- بقراءة 2GB من محتويات البيانات غير المضغوطة ل blah.tar و بنية بيانات ملف تار، بما في ذلك معلومات حول أذونات الملف، أسماء الملفات، الدلائل، إلخ.
- اكتب إلى القرص2 غيغابايت من البيانات بالإضافة إلى البيانات الوصفية.وينطوي ذلك على ترجمة معلومات بنية البيانات / البيانات الوصفية إلى إنشاء ملفات وأدلة جديدة على القرص حسب الاقتضاء، أو إعادة كتابة الملفات والأدلة الموجودة بمحتويات بيانات جديدة.
إجمالي البيانات نحن قراءة من القرص في هذه العملية كان 1GB( ل غونزيب) + 2GB( للقطران) = 3GB.
كان إجمالي البيانات التي وروت إلى القرص في هذه العملية 2GB( ل غونزيب) + 2GB( للقطران) + عدد قليل من وحدات البايت للبيانات الوصفية = حوالي 4GB.
الطريق 2
لديك blah.tar.gz، بطريقة أو بأخرى.
عليك أن تقرر تشغيل:
تار xvzf blah.tar.gzهذا سوف
- قراءة محتويات البيانات المضغوطة 1GB من blah.tar.gz، كتلة في وقت واحد، في الذاكرة.
- عملية البيانات المضغوطة من خلال غزيب ديكومبريسور في الذاكرة.
- كما يملأ المخزن المؤقت الذاكرة يصل، وسوف الأنابيب أن البيانات، في الذاكرة، من خلال إلى محلل تنسيق ملف القطران، والتي سوف تقرأ المعلومات حول البيانات الوصفية، وما إلى ذلك وبيانات الملف غير مضغوط.
- كما يملأ المخزن المؤقت الذاكرة حتى في محلل ملف القطران، فإنه سيتم كتابة البيانات غير المضغوطة إلى القرص، من خلال إنشاء الملفات والأدلة وملء لهم مع محتويات غير مضغوط.
إجمالي البيانات نحن قراءة من القرص في هذه العملية كان 1GB من البيانات المضغوطة، الفترة.
إجمالي البيانات التي وروت إلى القرص في هذه العملية كان 2 غيغابايت من البيانات غير المضغوطة + عدد قليل من وحدات البايت للبيانات الوصفية = حوالي 2 غيغابايت.
إذا لاحظت، كمية القرص I / O في الطريقة 2 متطابقة إلى I / O القرص الذي يؤديه برامج الرمز البريدي أو 7-زيب، تعديل لأي اختلافات في نسبة الضغط.
وإذا كانت نسبة الضغط هي مصدر قلقك، استخدم ضاغط شز لتغليف القطران، وكان لديك LZMA2'ed تار الأرشيف، الذي هو مجرد كفاءة كما خوارزمية الأكثر تقدما المتاحة ل 7 الرمز البريدي: -)
الجزء 2: ميزات
مخازن القطران أونيكس أذونات داخل البيانات الوصفية للملف، ومعروف جدا واختبارها بنجاح التعبئة حتى دليل مع جميع أنواع أذونات مختلفة، وصلات رمزية، وما إلى ذلك هناك أكثر من عدد قليل من الحالات حيث قد يحتاج المرء إلى مجموعة من الملفاتفي ملف واحد أو تيار، ولكن ليس بالضرورة ضغط عليه( على الرغم من أن ضغط مفيد وغالبا ما تستخدم).
الجزء 3: التوافق
يتم توزيع العديد من الأدوات في شكل المصدر أو الثنائي باسم. tar.gz أو. tar.bz2 لأنه هو "القاسم المشترك الأدنى" تنسيق الملف: مثل معظم مستخدمي ويندوز لديهم حق الوصول إلى. zip أو. rarديكومبريسورس، معظم المنشآت لينكس، حتى أبسط، سيكون لديك الوصول إلى القطران على الأقل و غونزيب، بغض النظر عن العمر أو سخر أسفل.حتى البرامج الدائمة الروبوت الوصول إلى هذه الأدوات.
يمكن أن توزع المشاريع الجديدة التي تستهدف الجماهير التي تعمل بالتوزيعات الحديثة بشكل جيد في شكل أكثر حداثة مثل. tar.xz( باستخدام تنسيق ضغط شز( لزما) الذي يضغط بشكل أفضل من غزيب أو bzip2) أو. 7z،إلى تنسيقات ملف مضغوط أو رار في أنه على حد سواء يضغط ويحدد تخطيط لتغليف ملفات متعددة في ملف واحد.
كنت لا ترى. 7z المستخدمة في كثير من الأحيان لنفس السبب الذي لا يتم بيع الموسيقى من محلات التحميل عبر الإنترنت في صيغ العلامة التجارية الجديدة مثل أوبوس، أو الفيديو في ويب.التوافق مع الناس الذين يشغلون الأنظمة القديمة أو الأساسية جدا.
هل لديك شيء لإضافة إلى التفسير؟الصوت قبالة في التعليقات.هل ترغب في قراءة المزيد من الإجابات من مستخدمي إكساك إكسهانج؟تحقق من موضوع المناقشة الكامل هنا.