آرشیو TAR (.tar)
POSIX.1-1988 استانداردفرمت آرشیو نوار (TAR) یک فرمت فراگیر برای بسته بندی فایل ها در یونیکس و لینوکس است که چندین فایل، دایرکتوری و فراداده سیستم فایل را در یک جریان فشرده نشده واحد گروه بندی می کند که برای پشتیبان گیری روی نوار مغناطیسی و توزیع نرم افزار طراحی شده است.
تبدیل ZIP به TAR
مبدل رایگان ZIP به TAR درون مرورگر. فایلها را فورا روی دستگاه خود تبدیل کنید.
بررسی و فراداده
سیستمعاملها و تحلیلگرهای فایل، فایلهای TAR را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای هدر در سطح بایت (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 (فعلی) | ZIP | 7Z | CPIO |
|---|---|---|---|---|
| فشرده سازی بومی | هیچکدام (صرفاً کانتینر بسته بندی) | فشرده سازی داخلی 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) از طریق حلقه های لینک سخت دایره ای.
بهترین روشهای پدافندی:
تاریخچه و نقاط عطف
مزایا و نقاط قوت کلیدی
- دقت کامل سیستم فایل یونیکس را به طور کامل حفظ می کند: دسترسی های 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 استخراج کنید.
جفتهای تبدیل مرتبط با TAR
تبدیل یک آرشیو ZIP به آرشیو TAR، یک کانتینر فایل فشرده را به فرمت آرشیو نواری فشردهنشده مناسب برای محیطهای یونیکس تبدیل میکند.
تبدیل یک آرشیو TAR به یک آرشیو ZIP، یک کانتینر یونیکس فشردهنشده را به یک فرمت فایل فشرده و با دسترسی جهانی تبدیل میکند.
تبدیل آرشیو TAR به آرشیو GZIP، مجموعه فایلهای فشردهنشده را با استفاده از الگوریتم بدون اتلاف DEFLATE به یک جریان فشرده منفرد تبدیل میکند تا اندازه فایل به شدت کاهش یابد.
تبدیل یک فایل فشرده شده GZIP به آرشیو TAR لایه فشردهسازی را حذف میکند تا مجموعه فایلها و پوشههای خام و فشردهنشده را آشکار کند.