آرشیو Tar Gzip (.tar.gz)
POSIX.1 استانداردفایل Tar Gzip (.tar.gz که با نام .tgz نیز شناخته می شود) استاندارد توزیع نرم افزار و فرمت بسته بندی آرشیو در دنیای لینوکس و متن باز است که بسته بندی TAR بومی یونیکس را با فشرده سازی جهانی Gzip ترکیب می کند.
بررسی و فراداده
سیستمعاملها و تحلیلگرهای فایل، فایلهای TAR.GZ را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای هدر در سطح بایت (Magic Bytes)
سیستمعاملها و تحلیلگرهای فایل، فایلهای TAR.GZ را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای HEX (آفست 0):
1F 8B 08نمایش ASCII: ..\x08
استانداردسازی: POSIX.1 ustar (RFC 1952 gzip wrapped)
مشخصات فنی
| معماری کانتینر | POSIX ustar / GNU tar archive stream wrapped inside an RFC 1952 Gzip compression container |
| فشردهسازی | Two-stage packaging: TAR serialization followed by DEFLATE compression |
| ترتیب بایتها (Endianness) | Little-Endian gzip envelope wrapping octal POSIX tar blocks |
| فضاهای رنگی | N/A (Archive Container) |
| کانالها و ساختار | Multi-file Unix directory trees, symlinks, file ownership, and permission bits |
| حداکثر ابعاد | Unbounded streaming archive size |
| شفافیت مشخصات | 100% bit-exact lossless preservation of filesystem structures and data |
| استریمینگ و پیشرونده | End-to-end pipeable streaming: decompress and extract simultaneously in a single pass |
ماتریس مقایسه فنی: TAR.GZ در برابر رقبا
| ویژگی فنی | TAR.GZ (فعلی) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| دسترسی های یونیکس | حفظ ۱۰۰٪ POSIX بومی | محدود / اغلب از دست رفته | ویژگی های پایه حفظ شده | حفظ ۱۰۰٪ POSIX بومی |
| نسبت فشرده سازی | متوسط (Gzip DEFLATE) | متوسط (ZIP DEFLATE) | بسیار بالا (LZMA2) | بالا (Bzip2 BWT) |
| سرعت رفع فشرده سازی | سریع (~۳۰۰ مگابایت بر ثانیه) | سریع (~۳۰۰ مگابایت بر ثانیه) | متوسط (~۱۰۰ مگابایت بر ثانیه) | کند (~۴۰ مگابایت بر ثانیه) |
| استاندارد اکوسیستم لینوکس | پیش فرض جهانی متن باز | پیش فرض دسکتاپ مصرف کننده | محبوب علاقه مندان ویندوز | انتشارهای سورس قدیمی لینوکس |
حالتهای رایج خرابی و راهنمای بازیابی هگز
خط فرمان گزارش می دهد: 'gzip: stdin: invalid compressed data--format violated'.
علت ریشهای: بایت های خراب در پاکت Gzip یا دانلود ناقص.
بازیابی: بازیابی جزئی را با استفاده از استخراج کننده آرشیو File2File یا دستور 'tar -izxf broken.tar.gz' امتحان کنید.
تحلیل امنیتی و بردارهای حمله تجزیهکننده (Parser)
آرشیوهای TAR.GZ در صورت استخراج بی دقت، خطرات بمب های فشرده سازی و حملات پیمایش دایرکتوری را با هم ترکیب می کنند.
بردارهای حمله شناختهشده
- تقویت سبک بمب فشرده (Zip bomb) که در آن یک فایل کوچک .tar.gz به ترابایت ها صفر انبساط می یابد.
- پیمایش دایرکتوری (به عنوان مثال '../../root/.ssh/authorized_keys') که فایل های دارای سطح دسترسی بالا را بازنویسی می کند.
- ایجاد گره دستگاه مخرب در طول استخراج به عنوان کاربر ریشه (root).
بهترین روشهای پدافندی:
تاریخچه و نقاط عطف
مزایا و نقاط قوت کلیدی
- استاندارد بیرقیب برای انتشار سورس کد متنباز، بستههای لینوکس و لایههای کانتینر داکر.
- ترکیب کامل حفظ دسترسی های POSIX و لینک های نمادین با فشرده سازی قابل اعتماد و سریع Gzip.
- قابلیت پخش جریانی کامل: قابل دانلود، رفع فشرده سازی و باز کردن در طول پایپ های شبکه بدون نوشتن فایل های موقت روی دیسک.
محدودیتها و معایب فنی
- استخراج یک فایل منفرد نیازمند رفع فشرده سازی کل آرشیو تا محل آن فایل است.
- نسبت فشرده سازی کمتر نسبت به جایگزین های مدرن مانند .tar.xz یا .tar.zst.
- در مقایسه با فایل های جهانی .zip، در سیستم های قدیمی ویندوز کمتر شهودی است.
نکات فنی جالب
- در سیستم های MS-DOS با محدودیت نام فایل 8.3، '.tar.gz' به '.tgz' کوتاه شد.
- هر بار که دستور 'npm install' را اجرا میکنید، npm بستههای .tgz (tar.gz) را در پسزمینه دانلود و استخراج میکند.
- کاربران لینوکس دستور استخراج فایل tar.gz را با کلید mnemonic 'eXtract Ze File' به یاد می آورند: tar -xzf file.tar.gz.
سوالات فنی متداول
تفاوت بین .tar.gz و .zip چیست؟
فرمت .zip هر فایل را به صورت جداگانه فشرده میکند و دارای یک دایرکتوری مرکزی در انتها است. فرمت .tar.gz ابتدا تمام فایلها را در یک جریان واحد ترکیب میکند و دسترسی کامل لینوکس و پیوندهای نمادین (symlinks) را حفظ میکند.
آیا .tgz همان .tar.gz است؟
بله. پسوند .tgz در واقع یک پسوند فایل مخفف ۳ حرفی برای .tar.gz است که در اصل برای سیستمعاملهای دارای محدودیت نام فایل کوتاه 8.3 مانند DOS ایجاد شده است.
چگونه میتوانم یک فایل .tar.gz را در ویندوز استخراج کنم؟
شما میتوانید بدون نیاز به نصب WinRAR یا 7-Zip، فایلهای .tar.gz را مستقیماً در مرورگر وب خود با استفاده از File2File.app استخراج کنید.