أرشيف TAR مضغوط بـ Gzip (.tar.gz)
POSIX.1 قياسيأرشيف TAR مضغوط باستخدام Gzip (.tar.gz، ويُعرف أيضًا باسم .tgz) هو تنسيق قياسي لتوزيع البرامج وتجميع الملفات في أنظمة Linux والبرمجيات مفتوحة المصدر. ويجمع بين أرشفة TAR الأصلية في Unix وضغط Gzip واسع الانتشار.
فحص البيانات الوصفية
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات TAR.GZ من خلال فحص تسلسل البايت الثنائي البادئ:
توقيع رأس الملف على مستوى البايت (Magic Bytes)
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات TAR.GZ من خلال فحص تسلسل البايت الثنائي البادئ:
التوقيع الست عشري (الإزاحة 0):
1F 8B 08تمثيل ASCII: ..\x08
التوحيد القياسي: POSIX.1 ustar (ضمن غلاف Gzip وفق RFC 1952)
المواصفات الفنية
| هيكلية الحاوية | تدفق أرشيف POSIX ustar أو GNU tar داخل حاوية ضغط Gzip وفق RFC 1952 |
| الضغط | تجميع من مرحلتين: تسلسل ملفات TAR ثم ضغطها بخوارزمية DEFLATE |
| ترتيب البايتات (Endianness) | غلاف Gzip بترتيب البايتات الصغير يحيط بكتل TAR ذات الحقول الثُمانية |
| مساحات الألوان | لا ينطبق (حاوية أرشيف) |
| القنوات والبنية | أشجار مجلدات وملفات Unix المتعددة، والروابط الرمزية، وملكية الملفات، وبتات الصلاحيات |
| الحد الأقصى للأبعاد | حجم أرشيف تدفقي غير محدود |
| الشفافية | يحافظ تمامًا، دون فقدان أي بتات، على بنية نظام الملفات وبياناته |
| البث والتحميل التدرجي | تدفق متصل قابل للتمرير عبر الأنابيب: فك الضغط واستخراج الملفات معًا في مرور واحد |
مصفوفة المقارنة التقنية: TAR.GZ مقابل المنافسين
| السمة التقنية | TAR.GZ (الحالي) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| صلاحيات يونكس | يحافظ بالكامل على صلاحيات POSIX | دعم محدود؛ وغالبًا ما تُفقد الصلاحيات | السمات الأساسية محفوظة | حفاظ كامل على POSIX بنسبة 100% |
| نسبة الضغط | متوسطة (Gzip DEFLATE) | متوسطة (ZIP DEFLATE) | عالية جداً (LZMA2) | عالية (Bzip2 BWT) |
| سرعة فك الضغط | سريع (نحو 300 ميجابايت/ثانية) | سريع (نحو 300 ميجابايت/ثانية) | متوسط (نحو 100 ميجابايت/ثانية) | بطيء (نحو 40 ميجابايت/ثانية) |
| المعيار السائد في منظومة لينكس | الخيار الافتراضي الشائع في البرمجيات مفتوحة المصدر | الخيار الافتراضي لأجهزة المستخدمين | الخيار الافتراضي لأجهزة المستخدمين | المفضل لدى هواة Windows |
أنماط التلف الشائعة ودليل الاسترداد بالنظام الست عشري
يعرض سطر الأوامر الرسالة 'gzip: stdin: invalid compressed data--format violated'.
السبب الجذري: بايتات تالفة في غلاف Gzip أو تنزيل غير مكتمل.
الاسترداد: حاول استعادة جزء من البيانات باستخدام أداة استخراج الأرشيفات من File2File.app أو الأمر 'tar -izxf broken.tar.gz'.
تحليل الأمان ومتجهات الهجوم على المحلّل
تنطوي أرشيفات TAR.GZ على مخاطر قنابل الضغط وهجمات اجتياز المجلدات عند استخراجها دون حذر.
ناقلات الهجوم المعروفة
- تضخيم شبيه بقنابل Zip، إذ يتمدد ملف .tar.gz صغير ليصبح حجمه تيرابايتات من الأصفار.
- اجتياز المجلدات (مثل '../../root/.ssh/authorized_keys') للكتابة فوق الملفات ذات الامتيازات.
- إنشاء عقد جهاز خبيثة أثناء الاستخراج بصلاحيات الجذر (root).
أفضل الممارسات الدفاعية: استخرج الأرشيفات بصلاحيات مستخدم عادي، وتحقّق من جميع مسارات الملفات المستهدفة لمنع اجتياز المجلدات.
الأصول التاريخية والمحطات الرئيسية
المزايا الرئيسية والإيجابيات
- المعيار الأوسع لإصدارات الشيفرات المصدرية المفتوحة وحزم Linux وطبقات حاويات Docker.
- يجمع بين الحفاظ الكامل على صلاحيات POSIX والروابط الرمزية وضغط Gzip السريع والموثوق.
- يدعم المعالجة بالتدفق بالكامل: يمكن تنزيله وفك ضغطه واستخراج ملفاته عبر قنوات الشبكة من دون كتابة ملفات مؤقتة على القرص.
القيود الفنية والسلبيات
- يتطلب استخراج ملف واحد فك ضغط الأرشيف حتى موضع ذلك الملف.
- نسبة ضغط أقل مقارنة بالبدائل الحديثة مثل .tar.xz أو .tar.zst.
- أقل سهولة في الاستخدام على أنظمة Windows القديمة مقارنة بصيغة ZIP المدعومة على نطاق واسع.
معلومات تقنية طريفة
- في أنظمة MS-DOS ذات حد أسماء الملفات 8.3، اختُصر الامتداد .tar.gz إلى .tgz.
- في كل مرة تشغّل فيها الأمر 'npm install'، ينزّل npm حزم .tgz (tar.gz) ويستخرجها في الخلفية.
- يحفظ مستخدمو Linux أمر استخراج ملفات tar.gz بالعبارة التذكّرية eXtract Ze File: tar -xzf file.tar.gz.
الأسئلة التقنية المتكررة
ما الفرق بين .tar.gz و.zip؟
يضغط .zip كل ملف على حدة، ويحتوي على دليل مركزي في النهاية. أما .tar.gz فيجمع جميع الملفات أولًا في تدفق واحد، مع الحفاظ على صلاحيات لينكس كاملةً والروابط الرمزية.
هل .tgz هو نفسه .tar.gz؟
نعم. .tgz امتداد ملف مختصر من 3 أحرف لـ .tar.gz، أُنشئ أصلًا لأنظمة التشغيل ذات حدود أسماء الملفات القصيرة 8.3، مثل DOS.
كيف يمكنني استخراج ملف .tar.gz على نظام ويندوز؟
يمكنك استخراج ملفات .tar.gz مباشرة في متصفح الويب الخاص بك باستخدام File2File.app دون تثبيت WinRAR أو 7-Zip.