ארכיון TAR (.tar)

POSIX.1-1988 תקן

Tape Archive (TAR) הוא פורמט אריזה נפוץ במערכות Unix ו-Linux, המקבץ קבצים, ספריות ומטא-נתונים נבחרים של מערכת הקבצים לזרם לא דחוס.

המר ZIP ל-TAR

ממיר חינמי מ-ZIP ל-TAR פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.

בדיקה ומטא-נתונים

מערכות הפעלה ומנתחי קבצים מזהים קבצי TAR על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברת נתונים ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד התבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (Magic Bytes)

מערכות הפעלה ומנתחי קבצים מזהים קבצי TAR על ידי בדיקת רצף הבייטים הבינארי הראשוני:

חתימת HEX (היסט 257):

75 73 74 61 72

ייצוג ASCII: ustar

תקינה: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)

מפרט טכני

מבנה המכולהרצף של בלוקים בני 512 בתים: כותרת קובץ בת 512 בתים ואחריה נתוני הקובץ המעוגלים כלפי מעלה לכפולה של 512 בתים, ומסתיים בשני בלוקים של אפס
דחיסהמכולת ארכיון לא דחוסה (מיועדת להעברה בצינור אל gzip, bzip2, xz או zstd)
סדר בתים (Endianness)שדות מחרוזת ASCII באוקטל; הרחבות מספריות בסדר בתים Big-Endian
מרחבי צבעלא רלוונטי (מכולת ארכיון)
ערוצים ומבנהעץ ספריות קבצים של Unix, קישורים סמליים וקשים, התקני תווים ובלוקים וצינורות FIFO
ממדים מרבייםמגבלה של 8 GB ב-ustar הקלאסי; כמעט ללא הגבלה בפורמט PAX המודרני
שקיפותמאחסן מטא-נתונים נבחרים של מערכת הקבצים, כגון הרשאות ומזהי בעלים; המאפיינים שנשמרים תלויים בפורמט הארכיון ובמימוש
הזרמה ופרוגרסיביותתכנון רציף המכוון להזרמה: ניתן לכתוב ישירות לכונני סרט מגנטי

מטריצת השוואה טכנית: TAR מול מתחרים

תכונה טכניתTAR (נוכחי)ZIP7ZCPIO
דחיסה מולדתללא (כלי אריזה טהור)דחיסת Deflate מובניתדחיסת LZMA/LZMA2 מובניתללא (כלי אריזה טהור)
שמירת הרשאות Unixמאפייני POSIX נבחרים, קישורים סמליים, UID/GIDתמיכה מוגבלת בהרשאות Unixשומר הרשאות בסיסיותמאפייני POSIX נבחרים
חילוץ בזרם (Streaming)חילוץ מלא בסטרימינג מצינורותדורש קריאת ספרייה מרכזית ב-EOFדורש קריאת כותרת סיוםחילוץ מלא בסטרימינג
גישה אקראית לקבציםאיטית (סריקה ליניארית רציפה)מידית (חיפוש בספרייה המרכזית)בינונית (חיפוש באינדקס)איטית (סריקה ליניארית רציפה)

מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)

שגיאת חילוץ: 'tar: Skipping to next header' או 'A lone zero block at X'.

גורם שורש: יישור בלוקים פגום של 512 בייט או סיום מוקדם של הזרם.

שחזור: חלץ עם 'tar -i' כדי להתעלם מבלוקים פגומים, או תקן באמצעות File2File.app Tar Tool.

ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)

מחלצי TAR חייבים לחטא נתיבי קבצים כדי למנוע דריסת קבצים שרירותית באמצעות התקפות מעבר תיקיות (Directory Traversal).

ווקטורי תקיפה ידועים

  • מתקפת מעבר תיקיות מסוג 'Slip' (לדוגמה '../etc/passwd') הדורסת קבצי מערכת קריטיים במהלך החילוץ.
  • תנאי מירוץ בקישורים סמליים (Symlink race conditions) היוצרים קישורים סמליים לספריות מערכת ואחריהם כתיבת קבצים.
  • מניעת שירות באמצעות לולאות מעגליות של קישורים קשיחים.

שיטות מומלצות להגנה: טהר בקפדנות נתיבי קבצים בארכיון ודחה כל רשומה המכילה הפניות לספריית אב ('..').

היסטוריה ואבני דרך

2001תקן IEEE POSIX.1-2001 מציג את תקן PAX (Portable Archive Interchange), המבטל את מגבלות הגודל הישנות של 8 GB.
1988תקן IEEE POSIX מגדיר את פורמט הכותרת 'ustar' (Unix Standard Tar).
1979הוצג בגרסה 7 של Unix (V7) על ידי מעבדות בל (Bell Labs) כדי לכתוב עצי קבצים לכונני סרטים מגנטיים.

יתרונות מרכזיים

  • TAR יכול לשמור הרשאות Unix, קישורים סמליים ומזהי בעלים. בדוק אם כלי החילוץ משחזר את השדות האלה, במיוחד כשמחלצים ב-Windows או במערכת אחרת עם כללי הרשאות שונים.
  • תכנון רציף המותאם לסרט מגנטי: אפשר לחלץ ישירות מצינור רשת בלי לחפש עד סוף הקובץ.
  • מנהלי חבילות Linux וכלי קונטיינרים מפיצים לעיתים קרובות קבצים בארכיוני TAR, שבדרך כלל דחוסים כקובצי ‎.tar.gz או ‎.tar.zst.

מגבלות טכניות וחסרונות

  • ללא דחיסה מולדת: קובץ .tar לא דחוס הוא בערך באותו גודל כמו הקבצים הגולמיים יחד.
  • גישה אקראית היא איטית: חילוץ קובץ יחיד מהאמצע של קובץ tar ענק דורש סריקה מההתחלה.
  • כותרות ustar ישנות קצצו שמות קבצים ארוכים מ-100 תווים (בעיה שנפתרה ב-PAX/GNU tar מודרני).

עובדות טכניות מעניינות

  • בייטי הזיהוי (Magic bytes) 'ustar' ממוקמים בהיסט בייט 257 בתוך כל בלוק כותרת בגודל 512 בייט.
  • TAR נכתב במקור כדי לשלוט פיזית בכונני סרטים מגנטיים בעלי 9 ערוצים מסוג reel-to-reel.
  • תמונות קונטיינר של Docker ו-OCI הן למעשה שכבות מוערמות של ארכיוני ‎.tar תקניים, המכילים הבדלים במערכת הקבצים הבסיסית.

שאלות טכניות נפוצות

מדוע קובץ ה-.tar שלי אינו דחוס?

TAR הוא רק כלי לארכוב (הוא אורז קבצים יחד לקובץ אחד) ואינו דוחס בעצמו. כדי לדחוס אותו, צרף אותו ל-gzip כדי ליצור קובץ .tar.gz.

מה ההבדל בין ustar ל-GNU tar?

Ustar הוא תקן POSIX משנת 1988 עם הגבלה של 100 תווים לשמות קבצים, בעוד ש-GNU tar הוא פורמט מורחב התומך באורכי נתיב בלתי מוגבלים ובקבצים דלילים (sparse files).

כיצד אוכל לפתוח קובץ .tar ב-Windows?

Windows 10 ו-11 תומכות ב-tar באופן מובנה דרך שורת הפקודה ('tar -xf file.tar'), או שניתן לחלץ אותו באופן חזותי באמצעות File2File.app ישירות בדפדפן האינטרנט שלך.