آرشیو TAR (.tar)

POSIX.1-1988 استاندارد

فرمت آرشیو نوار (TAR) یک فرمت فراگیر برای بسته بندی فایل ها در یونیکس و لینوکس است که چندین فایل، دایرکتوری و فراداده سیستم فایل را در یک جریان فشرده نشده واحد گروه بندی می کند که برای پشتیبان گیری روی نوار مغناطیسی و توزیع نرم افزار طراحی شده است.

تبدیل ZIP به TAR

مبدل رایگان ZIP به TAR درون مرورگر. فایل‌ها را فورا روی دستگاه خود تبدیل کنید.

بررسی و فراداده

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های TAR را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

انتخاب یا رها کردن فایل‌ها در اینجا

تبدیل ۱۰۰٪ خصوصی در مرورگر - فایل‌ها هرگز دستگاه شما را ترک نمی‌کنند

یا جای‌گذاری کنید Ctrl+V
تضمین حریم خصوصی بدون انتقال شبکه: صفر بایت به سرورهای خارجی آپلود می‌شود. تمام پردازش‌ها به صورت محلی در سندباکس مرورگر شما انجام شد.

امضای هدر در سطح بایت (Magic Bytes)

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های TAR را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

امضای HEX (آفست 257):

75 73 74 61 72

نمایش ASCII: ustar

استانداردسازی: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)

مشخصات فنی

معماری کانتینرSequence of 512-byte blocks: 512-byte file header followed by file data rounded up to 512 bytes, ending with two zero blocks
فشرده‌سازیUncompressed archive container (designed to be piped into gzip, bzip2, xz, or zstd)
ترتیب بایت‌ها (Endianness)Octal ASCII string fields; big-endian numeric extensions
فضاهای رنگیN/A (Archive Container)
کانال‌ها و ساختارUnix file directory tree, symlinks, hardlinks, character/block devices, and FIFO pipes
حداکثر ابعاد8 GB limit in classic ustar; practically unlimited in modern PAX format
شفافیت مشخصاتFull preservation of POSIX file permissions, owner UID/GID, access times, and extended attributes
استریمینگ و پیش‌روندهSequential stream-oriented design: can be written directly to physical magnetic tape drives

ماتریس مقایسه فنی: TAR در برابر رقبا

ویژگی فنیTAR (فعلی)ZIP7ZCPIO
فشرده سازی بومیهیچکدام (صرفاً کانتینر بسته بندی)فشرده سازی داخلی Deflateفشرده سازی داخلی LZMA/LZMA2هیچکدام (صرفاً کانتینر بسته بندی)
حفظ دسترسی های یونیکس۱۰۰٪ ویژگی های POSIX، لینک های نمادین، UID/GIDپشتیبانی محدود از دسترسی های یونیکسحفظ دسترسی های پایه۱۰۰٪ ویژگی های POSIX
استخراج جریانیاستخراج جریانی کامل از پایپ هانیازمند خواندن دایرکتوری مرکزی در EOFنیازمند خواندن هدر پایانیاستخراج جریانی کامل
دسترسی تصادفی به فایل هاکند (اسکن ترتیبی خطی)آنی (جستجوی دایرکتوری مرکزی)متوسط (جستجوی اینکس)کند (اسکن ترتیبی خطی)

حالت‌های رایج خرابی و راهنمای بازیابی هگز

خطای استخراج: 'tar: Skipping to next header' یا 'A lone zero block at X'.

علت ریشه‌ای: تراز بلوک ۵۱۲ بایتی آسیب دیده یا خاتمه زودهنگام جریان داده.

بازیابی: با استفاده از 'tar -i' برای نادیده گرفتن بلوک های آسیب دیده استخراج کنید یا با ابزار File2File Tar تعمیر کنید.

تحلیل امنیتی و بردارهای حمله تجزیه‌کننده (Parser)

استخراج کننده های TAR باید مسیرهای فایل را پاکسازی کنند تا از بازنویسی خودسرانه فایل ها از طریق حملات پیمایش دایرکتوری جلوگیری کنند.

بردارهای حمله شناخته‌شده

  • پیمایش دایرکتوری 'Slip' (به عنوان مثال '../etc/passwd') که فایل های حیاتی سیستم را در طول استخراج بازنویسی می کند.
  • شرایط مسابقه لینک نمادین که لینک های نمادینی به دایرکتوری های سیستم ایجاد می کند و به دنبال آن نوشتن فایل انجام می شود.
  • حمله محرومیت از سرویس (DoS) از طریق حلقه های لینک سخت دایره ای.

بهترین روش‌های پدافندی:

تاریخچه و نقاط عطف

2001استاندارد IEEE POSIX.1-2001 استاندارد PAX (تبادل آرشیو قابل حمل) را معرفی می کند و محدودیت های اندازه قدیمی ۸ گیگابایتی را از بین می برد.
1988موسسه IEEE استاندارد POSIX را برای فرمت هدر 'ustar' (تار استاندارد یونیکس) تدوین می کند.
1979در نسخه ۷ یونیکس (V7) توسط آزمایشگاه های بل برای نوشتن درخت فایل ها بر روی درایوهای نوار مغناطیسی معرفی شد.

مزایا و نقاط قوت کلیدی

  • دقت کامل سیستم فایل یونیکس را به طور کامل حفظ می کند: دسترسی های POSIX، لینک های نمادین، لینک های سخت و مالکیت.
  • طراحی مبتنی بر نوار با قابلیت پخش جریانی: می توان آن را مستقیماً از یک پایپ شبکه بدون نیاز به جستجو تا انتهای فایل استخراج کرد.
  • استاندارد جهانی در تمام سرورهای لینوکس، ایمیج های کانتینر (Docker/OCI) و توزیع های نرم افزاری یونیکس.

محدودیت‌ها و معایب فنی

  • بدون فشرده سازی بومی: یک فایل tar فشرده نشده تقریباً هم اندازه فایل های خام ترکیب شده است.
  • دسترسی تصادفی کند است: استخراج یک فایل منفرد از وسط یک تاربال عظیم نیازمند اسکن از ابتدا است.
  • هدرهای قدیمی ustar نام فایل های طولانی تر از ۱۰۰ کاراکتر را کوتاه می کردند (در tar مدرن PAX/GNU حل شده است).

نکات فنی جالب

  • بایت های جادویی 'ustar' در افست بایت ۲۵۷ در داخل هر بلوک هدر ۵۱۲ بایتی قرار دارند.
  • TAR در ابتدا برای کنترل فیزیکی درایوهای نوار مغناطیسی ریل به ریل ۹ تراکه نوشته شد.
  • ایمیج های کانتینر Docker و OCI به معنای واقعی کلمه مجموعه های انباشته ای از آرشیوهای استاندارد .tar حاوی تفاوت های سیستم فایل ریشه هستند.

سوالات فنی متداول

چرا فایل .tar من فشرده نشده است؟

فرمت TAR صرفاً یک آرشیوکننده است (فایل‌ها را در یک فایل واحد بسته‌بندی می‌کند) و به تنهایی عمل فشرده‌سازی را انجام نمی‌دهد. برای فشرده‌سازی آن، آن را با gzip جفت کنید تا یک فایل .tar.gz بسازید.

تفاوت بین ustar و GNU tar چیست؟

فرمت Ustar استاندارد POSIX سال ۱۹۸۸ با محدودیت نام فایل ۱۰۰ کاراکتری است، در حالی که GNU tar یک فرمت توسعه‌یافته است که از طول مسیر نامحدود و فایل‌های پراکنده پشتیبانی می‌کند.

چگونه می‌توانم یک فایل .tar را در ویندوز باز کنم؟

ویندوز ۱۰ و ۱۱ از طریق خط فرمان ('tar -xf file.tar') به طور پیش‌فرض از tar پشتیبانی می‌کنند، یا می‌توانید آن را به صورت بصری و مستقیماً در مرورگر وب خود با استفاده از File2File.app استخراج کنید.