ארכיון 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)
מפרט טכני
| ארכיטקטורת מעטפת | 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 מובנית | ללא (כלי אריזה טהור) |
| שמירת הרשאות Unix | 100% מאפייני POSIX, קישורים סמליים, UID/GID | תמיכה מוגבלת בהרשאות Unix | שומר הרשאות בסיסיות | 100% מאפייני POSIX |
| חילוץ בזרם (Streaming) | חילוץ מלא הניתן להזרמה מצינורות | דורש קריאת ספרייה מרכזית ב-EOF | דורש קריאת כותרת סיום | חילוץ מלא הניתן להזרמה |
| גישה אקראית לקבצים | איטית (סריקה לינארית רציפה) | מידית (חיפוש בספרייה המרכזית) | בינונית (חיפוש באינדקס) | איטית (סריקה לינארית רציפה) |
מצבי שיחשות נפוצים ומדריך שחזור הקסדצימלי (Hex)
שגיאת חילוץ: 'tar: Skipping to next header' או 'A lone zero block at X'.
גורם שורש: יישור בלוקים פגום של 512 בייט או סיום מוקדם של הזרם.
התאוששות: חלץ עם 'tar -i' כדי להתעלם מבלוקים פגומים או תקן באמצעות File2File Tar Tool.
ניתוח אבטחה ווקטורי התקפה על מנתחים (Parsers)
חלצי TAR חייבים לחטא נתיבי קבצים כדי למנוע דריסת קבצים שרירותית באמצעות התקפות מעבר תיקיות (Directory Traversal).
ווקטורי תקיפה ידועים
- מעבר תיקיות מסוג 'Slip' (לדוגמה '../etc/passwd') הדורס קבצי מערכת קריטיים במהלך החילוץ.
- תנאי מירוץ בקישורים סמליים (Symlink race conditions) היוצרים קישורים סמליים לספריות מערכת ואחריהם כתיבת קבצים.
- מניעת שירות באמצעות לולאות קישור קשיח מעגליות.
השיטות המומלצות להגנה:
היסטוריה ואבני דרך
יתרונות מרכזיים
- שומר באמינות על נאמנות מלאה למערכת הקבצים של Unix: הרשאות POSIX, קישורים סמליים, קישורים קשיחים ובעלות.
- עיצוב המותאם להזרמה המכוון לסרטים מגנטיים: ניתן לחלץ ישירות מצינור רשת מבלי לגשת לסוף הקובץ.
- תקן אוניברסלי בכל שרתי ה-Linux, תמונות הקונטיינרים (Docker/OCI) והפצות התוכנה של Unix.
מגבלות טכניות וחסרונות
- ללא דחיסה מולדת: קובץ .tar לא דחוס הוא בערך באותו גודל כמו הקבצים הגולמיים יחד.
- גישה אקראית היא איטית: חילוץ קובץ יحد מהאמצע של קובץ tar ענק דורש סריקה מההתחלה.
- כותרות ustar ישנות קצצו שמות קבצים ארוכים מ-100 תווים (נפתר ב-PAX/GNU tar מודרני).
עובדות טכניות מעניינות
- בייטים מיוחדים (Magic bytes) 'ustar' ממוקמים בהיסט בייט 257 בתוך כל בלוק כותרת בגודל 512 בייט.
- TAR נכתב במקור כדי לשלוט פיזית בכונני סרטים מגנטיים בעלי 9 ערוצים מסוג reel-to-reel.
- תמונות קונטיינר של Docker ו-OCI הן בעצם סטים ערומים של ארכיוני .tar תקניים המכילים הבדלי מערכת קבצים שורשית (rootfs diffs).
שאלות טכניות נפוצות
מדוע קובץ ה-.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 ללא אובדן נתונים כדי לצמצם באופן דרמטי את גודל הקובץ.
המרת קובץ דחוס GZIP לארכיון TAR מסירה את שכבת הדחיסה כדי לחשוף את אוסף הקבצים והתיקיות הגולמי והלא דחוס.