ארכיון TAR (.tar)
POSIX.1-1988 תקןTape Archive (TAR) הוא פורמט אריזה נפוץ במערכות Unix ו-Linux, המקבץ קבצים, ספריות ומטא-נתונים נבחרים של מערכת הקבצים לזרם לא דחוס.
המר 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)
מפרט טכני
| מבנה המכולה | רצף של בלוקים בני 512 בתים: כותרת קובץ בת 512 בתים ואחריה נתוני הקובץ המעוגלים כלפי מעלה לכפולה של 512 בתים, ומסתיים בשני בלוקים של אפס |
| דחיסה | מכולת ארכיון לא דחוסה (מיועדת להעברה בצינור אל gzip, bzip2, xz או zstd) |
| סדר בתים (Endianness) | שדות מחרוזת ASCII באוקטל; הרחבות מספריות בסדר בתים Big-Endian |
| מרחבי צבע | לא רלוונטי (מכולת ארכיון) |
| ערוצים ומבנה | עץ ספריות קבצים של Unix, קישורים סמליים וקשים, התקני תווים ובלוקים וצינורות FIFO |
| ממדים מרביים | מגבלה של 8 GB ב-ustar הקלאסי; כמעט ללא הגבלה בפורמט PAX המודרני |
| שקיפות | מאחסן מטא-נתונים נבחרים של מערכת הקבצים, כגון הרשאות ומזהי בעלים; המאפיינים שנשמרים תלויים בפורמט הארכיון ובמימוש |
| הזרמה ופרוגרסיביות | תכנון רציף המכוון להזרמה: ניתן לכתוב ישירות לכונני סרט מגנטי |
מטריצת השוואה טכנית: TAR מול מתחרים
| תכונה טכנית | TAR (נוכחי) | ZIP | 7Z | CPIO |
|---|---|---|---|---|
| דחיסה מולדת | ללא (כלי אריזה טהור) | דחיסת 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) היוצרים קישורים סמליים לספריות מערכת ואחריהם כתיבת קבצים.
- מניעת שירות באמצעות לולאות מעגליות של קישורים קשיחים.
שיטות מומלצות להגנה: טהר בקפדנות נתיבי קבצים בארכיון ודחה כל רשומה המכילה הפניות לספריית אב ('..').
היסטוריה ואבני דרך
יתרונות מרכזיים
- 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 ישירות בדפדפן האינטרנט שלך.
זוגות המרה קשורים ל-TAR
המרת ארכיון ZIP לארכיון TAR ממירה מכולת קבצים דחוסה לפורמט ארכיון לא דחוס, המתאים לסביבות Unix.
המרת ארכיון TAR לארכיון ZIP ממירה מכולת Unix לא דחוסה לפורמט קבצים דחוס הנגיש במגוון רחב של מערכות.
המרת ארכיון TAR לארכיון GZIP עוטפת אוסף קבצים לא דחוס לזרם דחוס יחיד באמצעות אלגוריתם DEFLATE ללא אובדן נתונים כדי לצמצם באופן דרמטי את גודל הקובץ.
חלצו את נתוני ה-TAR מארכיון TAR דחוס ב-GZIP, כגון .tar.gz או .tgz.