21Aug
הפורמט של זפת הארכוב הוא, בשנים המחשוב, מתושלח אמיתי, אך הוא עדיין בשימוש רב היום.מה הופך את תבנית זפת כל כך שימושי זמן רב לאחר הקמתה?
השאלה של היום &מפגש תשובה מגיע אלינו באדיבות SuperUser - חלוקה של סטאק שערי, קהילה מונחה קיבוץ של Q & אתרי אינטרנט.
השאלה
SuperUser Reader MarcusJ הוא סקרן לגבי פורמט זפת ולמה אנחנו עדיין משתמשים בו אחרי כל השנים האלה:
אני יודע כי זפת נעשה עבור ארכיונים קלטות בחזרה היום, אבל היום יש לנו ארכיון קבצים פורמטים כי שניהםקבצים מצטברים ולבצע דחיסה בתוך אותו פורמט קובץ לוגי.שאלות לגבי
D האם יש עונש ביצועים במהלך שלבי ההפחתה של /compression/ המצטברים עבור השימוש בזפת שקופסה ב- gzip או bzip2, בהשוואה לפורמט קובץ שעושה צבירה ודחיסה באותו מבנה נתונים?נניח שזמן הריצה של המדחס שהושווה זהה( לדוגמה, gzip ו- deflate דומים).זוהי שאלה סבירה לחלוטין;כל כך הרבה השתנה בעולם המחשוב בשלושים השנים האחרונות, אבל אנחנו עדיין משתמשים בפורמט זפת.מה הסיפור?
התשובה
SuperUser תורם Allquixotic מציעה כמה תובנה אריכות ימים ופונקציונליות של פורמט זפת:
חלק 1: ביצועים
הנה השוואה של שני workflows נפרדים ומה הם עושים.
יש לך קובץ על דיסק blah.tar.gz שהוא, למשל, 1 GB של gzip דחוס נתונים אשר, כאשר לא דחוס, תופסת 2 GB( כך יחס דחיסה של 50%).
הדרך שבה היית יוצר את זה, אם היית עושה ארכיון דחיסה בנפרד, יהיה:
זפת cf קבצים blah.tar. ..זה יוביל blah.tar אשר הוא רק צבירה של קבצים. .בצורת לא דחוס.
אז היית עושה
gzip blah.tarזה היה לקרוא את התוכן של blah.tar מהדיסק, לדחוס אותם באמצעות אלגוריתם דחיסת gzip, לכתוב את התוכן blah.tar.gz, ואז לבטל קישור( למחוק) את הקובץ blah.זֶפֶת.
עכשיו, בואו לשחרר לחץ!
Way 1
יש לך blah.tar.gz, בדרך זו או אחרת.
אתה מחליט לרוץ:
gunzip blah.tar.gzזה יהיה
- לקרוא את 1GB נתונים דחוסים תוכן של blah.tar.gz.
- עיבוד נתונים דחוסים דרך דחיסת gzip בזיכרון.
- כמו מאגר זיכרון מתמלא עם "בלוק" שווה של נתונים, לכתוב את הנתונים לא דחוס לתוך fileblah.tar על הדיסק וחזור עד שכל הנתונים דחוס הוא קרא.
- ביטול קישור( מחק) את הקובץ blah.tar.gz.
עכשיו, יש לך blah.tar על הדיסק, אשר לא דחוס אבל מכיל אחד או יותר קבצים בתוכו, עם תקורה נמוכה מאוד מבנה נתונים.גודל הקובץ הוא כנראה כמה בתים גדול יותר מאשר סכום של כל נתוני הקובץ יהיה.
אתה מפעיל:
זפת xvf blah.tarזה יהיה
- לקרוא את 2GB של תוכן נתונים לא דחוס של blah.tar ומבנה הנתונים של קובץ זפת הקובץ, כולל מידע על הרשאות קבצים, שמות קבצים, ספריות וכו '
- לכתוב לדיסקאת 2GB של נתונים בתוספת metadata.זה כרוך: תרגום מידע מבנה / מטה מידע ליצירת קבצים חדשים וספריות על הדיסק לפי הצורך, או לשכתב קבצים קיימים וספריות עם תוכן נתונים חדשים.
סה"כ הנתונים שאנו קרא מהדיסק בתהליך זה היה 1GB( עבור gunzip) + 2GB( עבור זפת) = 3GB.
סה"כ הנתונים שאנו WROTE לדיסק בתהליך זה היה 2GB( עבור gunzip) + 2GB( עבור זפת) + כמה בתים עבור metadata = כ 4GB.
Way 2
יש לך blah.tar.gz, בדרך זו או אחרת.
אתה מחליט לרוץ:
tar xvzf blah.tar.gzזה יהיה
- לקרוא את תוכן הנתונים דחוס 1GB של blah.tar.gz, גוש בכל פעם, לתוך הזיכרון.
- עיבוד נתונים דחוסים דרך דחיסת gzip בזיכרון.
- כמו מאגר זיכרון מתמלא, זה צינור כי הנתונים, בזיכרון, עד מנתח קובץ זפת קובץ, אשר יקרא את המידע על metadata, וכו 'ונתוני קובץ לא דחוס.
- כמו מאגר זיכרון מתמלא מנתח קובץ זפת, זה יהיה לכתוב את הנתונים לא דחוס לדיסק, על ידי יצירת קבצים וספריות ומילוי אותם עם תוכן לא דחוס.
סך הנתונים אשר קרא מהדיסק בתהליך זה היה 1GB של נתונים דחוסים, נקודה.
סה"כ הנתונים שאנחנו WROTE לדיסק בתהליך זה היה 2GB של נתונים לא דחוס + כמה בתים עבור metadata = על 2GB.
אם אתה מבחין, כמות הדיסק I / O ב Way 2 הוא זהה לדיסק אני / O מבוצע על ידי, למשל, Zip או 7-Zip תוכניות, התאמת עבור כל ההבדלים יחס דחיסה.
ואם יחס הדחיסה הוא הדאגה שלך, השתמש מדחס Xz לתמצת זפת, ויש לך ארכיון TAR LZMA2, שהוא בדיוק כמו האלגוריתם המתקדם ביותר הזמין 7-Zip: -)
חלק 2: תכונות
זפת אחסון הרשאות UNIX בתוך המטא נתונים הקובץ שלה, והוא מוכר היטב ונבדק בהצלחה לארוז את הספרייה עם כל מיני סוגים שונים של הרשאות, קישורים סמליים, וכו 'יש יותר מאשר כמה מקרים שבהם ייתכן שיהיה צורך גלובוס חבורה של קבציםלתוך קובץ בודד או זרם, אך לא בהכרח לדחוס אותו( אם כי דחיסה הוא שימושי ולעתים קרובות).
חלק 3: תאימות
כלים רבים מופצים בטופס המקור או הבינארי כ-. tar.gz או. tar.bz2 מכיוון שהוא "פורמט משותף משותף הנמוך ביותר": כמו לרוב משתמשי Windows יש גישה. Zip או. rardecompressors, רוב התקנות לינוקס, אפילו הבסיסית ביותר, תהיה גישה לפחות זפת ו gunzip, לא משנה בן כמה או pared למטה.גם firmwares אנדרואיד יש גישה לכלים אלה.
פרוייקטים חדשים המכוונים לקהל המשתמשים בהפצות מודרניות עשויים להפיץ בצורה מאוד מודרנית, כגון. tar.xz( באמצעות פורמט דחיסה Xz( LZMA), אשר דוחס יותר מ gzip או bzip2), או. 7z, אשר דומהל Zip או RAR פורמטים של קבצים בכך שהוא דוחס ומציין פריסה עבור encapsulating קבצים מרובים לקובץ יחיד.
אתה לא רואה. 7z בשימוש לעתים קרובות יותר מאותה סיבה כי המוסיקה אינה נמכרת מחנויות להורדה באינטרנט בפורמטים חדשים כמו אופוס, או וידאו ב- WebM.תאימות עם אנשים רצים מערכות עתיקות או בסיסיות מאוד.
יש מה להוסיף להסבר?נשמע את ההערות.רוצה לקרוא תשובות נוספות ממשתמשים אחרים בעלי ידע טכנולוגי?בדוק את נושא הדיון המלא כאן.