אנגליתצרפתיתספרדי

הפעל שרתים | Ubuntu > | Fedora > |


סמל OnWorks

xzcat - מקוון בענן

הפעל את xzcat בספק אירוח בחינם של OnWorks על אובונטו מקוון, פדורה מקוון, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זוהי הפקודה xzcat שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


xz, unxz, xzcat, lzma, unlzma, lzcat - דחיסה או ביטול דחיסה של קבצי .xz ו-.lzma

תַקצִיר


xz [אוֹפְּצִיָה]... [פילה] ...

unxz שווה xz --לְשַׁחְרֵר לָחָץ.
xzcat שווה xz --לְשַׁחְרֵר לָחָץ --stdout.
lzma שווה xz --format=lzma.
unlzma שווה xz --format=lzma --לְשַׁחְרֵר לָחָץ.
lzcat שווה xz --format=lzma --לְשַׁחְרֵר לָחָץ --stdout.

בעת כתיבת סקריפטים שצריכים לדחוס קבצים, מומלץ להשתמש תמיד ב-
שם xz עם טיעונים מתאימים (xz -d or xz -זֶרֶם יָשָׁר) במקום השמות unxz ו xzcat.

תיאור


xz הוא כלי דחיסת נתונים לשימוש כללי עם תחביר שורת פקודה דומה לזה מופעלת דחיסת(1)
ו bzip2(1). פורמט הקובץ המקורי הוא .xz פורמט, אבל המורשת .lzma פורמט בשימוש
של LZMA Utils וזרמים דחוסים גולמיים ללא כותרות בפורמט מיכל
נתמך.

xz דוחס או משחרר כל אחד פילה בהתאם למצב הפעולה שנבחר. אם לא
קבצים ניתנים או פילה is -, xz קורא מקלט סטנדרטי וכותב את הנתונים המעובדים
לתפוקה רגילה. xz יסרב (הצג שגיאה ודלג על פילה) לכתוב
נתונים דחוסים לפלט סטנדרטי אם זה מסוף. באופן דומה, xz יסרב לקרוא
נתונים דחוסים מקלט סטנדרטי אם זה מסוף.

אֶלָא אִם --stdout מצוין, קבצים אחר מאשר - נכתבים לקובץ חדש ששמו
נגזר מהמקור פילה שֵׁם:

· בעת דחיסה, הסיומת של פורמט קובץ היעד (.xz or .lzma) מצורף ל
שם קובץ המקור כדי לקבל את שם קובץ היעד.

· בעת שחרור דחיסה, ה .xz or .lzma הסיומת מוסרת משם הקובץ כדי לקבל את
שם קובץ היעד. xz מזהה גם את הסיומות .txz ו .tlz, ומחליף אותם ב
מה היא .זֶפֶת סיומת.

אם קובץ היעד כבר קיים, מוצגת שגיאה וה- פילה מדלגים.

אלא אם כן כותבים לפלט סטנדרטי, xz יציג אזהרה ודלג על פילה אם בכלל
הדברים הבאים חלים:

· שלח אינו קובץ רגיל. לא עוקבים אחר קישורים סמליים, ולכן הם לא
נחשב לקבצים רגילים.

· שלח יש יותר מקישור קשה אחד.

· שלח יש setuid, setgid או sticky bit.

· מצב הפעולה מוגדר לדחיסה ו- פילה כבר יש סיומת של המטרה
פורמט קובץ (.xz or .txz בעת דחיסה ל- .xz פורמט, ו .lzma or .tlz מתי
דחיסה ל .lzma תבנית).

· מצב הפעולה מוגדר לשחרור ו- פילה אין סיומת של אף אחת מהן
פורמטי הקבצים הנתמכים (.xz, .txz, .lzma, או .tlz).

לאחר דחיסה או שחרור מוצלח של ה- פילה, xz מעתיק את הבעלים, הקבוצה,
הרשאות, זמן גישה וזמן שינוי מהמקור פילה לקובץ היעד.
אם העתקת הקבוצה נכשלת, ההרשאות ישתנו כך שקובץ היעד לא יעשה זאת
להיות נגיש למשתמשים שלא היו להם הרשאה לגשת למקור פילה. xz
אינו תומך בהעתקת מטא נתונים אחרים כמו רשימות בקרת גישה או תכונות מורחבות
עדיין.

לאחר שקובץ היעד נסגר בהצלחה, המקור פילה מוסר אלא אם כן
--לִשְׁמוֹר צוין. המקור פילה לעולם לא יוסר אם הפלט נכתב אל
פלט סטנדרטי.

שליחה SIGINFO or SIGUSR1 אל ה xz התהליך גורם לו להדפיס מידע על התקדמות
שגיאת תקן. יש לזה שימוש מוגבל בלבד מאז שגיאה סטנדרטית היא מסוף, באמצעות
--מִלוּלִי יציג מחוון התקדמות המתעדכן אוטומטית.

זכרון שימוש
השימוש בזיכרון של xz משתנה בין כמה מאות קילובייטים למספר גיגה-בייט בהתאם
על הגדרות הדחיסה. ההגדרות המשמשות בעת דחיסת קובץ קובעות את ה
דרישות הזיכרון של הדקומפרסור. בדרך כלל, המדחס צריך 5% עד 20% מ
כמות הזיכרון שהקומפרסור היה צריך בעת יצירת הקובץ. לדוגמה,
פירוק קובץ שנוצר באמצעות xz -9 כרגע דורש 65 MiB של זיכרון. ובכל זאת, זה כן
אפשרי לקבל .xz קבצים שדורשים מספר ג'יגה-בייט של זיכרון כדי לבטל את הדחיסה.

במיוחד משתמשים במערכות ישנות יותר עשויים למצוא אפשרות של שימוש גדול מאוד בזיכרון
מְעַצבֵּן. כדי למנוע הפתעות לא נוחות, xz יש מגביל שימוש בזיכרון מובנה,
שהוא מושבת כברירת מחדל. בעוד שמערכות הפעלה מסוימות מספקות דרכים להגביל את
שימוש בזיכרון של תהליכים, ההסתמכות עליו לא נחשבה לגמישה מספיק (למשל שימוש
אולימיט(1) כדי להגביל את הזיכרון הווירטואלי נוטה לשתק mmap(2)).

ניתן להפעיל את מגביל השימוש בזיכרון עם אפשרות שורת הפקודה --memlimit=להגביל.
לעתים קרובות יותר נוח להפעיל את המגביל כברירת מחדל על ידי הגדרת הסביבה
משתנה XZ_DEFAULTSלמשל XZ_DEFAULTS=--memlimit=150MiB. אפשר להגדיר את
מגבלות בנפרד עבור דחיסה ופירוק באמצעות שימוש --memlimit-compress=להגביל ו
--memlimit-decompress=להגביל. שימוש בשתי האפשרויות הללו בחוץ XZ_DEFAULTS הוא שימושי לעתים רחוקות
כי ריצה בודדת של xz לא יכול לעשות גם דחיסה וגם דקומפרסיה ו
--memlimit=להגביל (אוֹ -M להגביל) קצר יותר להקלדה בשורת הפקודה.

אם חריגה ממגבלת השימוש בזיכרון שצוינה בעת ביטול הדחיסה, xz יציג
שגיאה וביטול הדחיסה של הקובץ ייכשל. אם חריגה מהמגבלה בעת הדחיסה, xz
ינסה להקטין את ההגדרות כך שהמגבלה לא תחרוג עוד (למעט כאשר
באמצעות --פורמט=גולמי or --לא להתאים). כך הפעולה לא תיכשל אלא אם כן המגבלה היא
קטן מאוד. קנה המידה של ההגדרות נעשה בשלבים שאינם תואמים את הדחיסה
הגדרות קבועות מראש של רמות, למשל אם המגבלה קטנה רק במעט מהכמות הנדרשת xz -9,
ההגדרות יוקטנו רק מעט, לא עד הסוף xz -8.

שִׁרשׁוּר ו רפוד עם .xz קבצים
אפשר לשרשר .xz קבצים כפי שהם. xz יפרוק קבצים כאלה כאילו הם
היו רווקים .xz קובץ.

אפשר להכניס ריפוד בין החלקים המשורשרים או אחרי החלק האחרון.
הריפוד חייב להיות מורכב מבייטים null וגודל הריפוד חייב להיות כפולה של
ארבעה בתים. זה יכול להיות שימושי למשל אם .xz הקובץ מאוחסן על מדיום שמודד
גדלי קבצים בבלוקים של 512 בתים.

אסור שרשור וריפוד עם .lzma קבצים או זרמים גולמיים.

אפשרויות


מספר שלם סיומות ו מיוחד ערכים
ברוב המקומות שבהם צפוי ארגומנט של מספר שלם, סיומת אופציונלית נתמכת ל
מציינים בקלות מספרים שלמים גדולים. אסור שיהיה רווח בין המספר השלם ל-
סיומת.

קיב הכפל את המספר השלם ב-1,024 (2^10). Ki, k, kB, K, ו KB מתקבלים כ
מילים נרדפות ל קיב.

MiB הכפל את המספר השלם ב-1,048,576 (2^20). Mi, m, M, ו MB מתקבלים כ
מילים נרדפות ל MiB.

GiB הכפל את המספר השלם ב-1,073,741,824 (2^30). Gi, g, G, ו GB מתקבלים כ
מילים נרדפות ל GiB.

הערך המיוחד מקסימום ניתן להשתמש כדי לציין את הערך השלם המקסימלי הנתמך על ידי
אוֹפְּצִיָה.

פעולה מצב
אם ניתנות מספר אפשרויות מצב פעולה, האחרונה תיכנס לתוקף.

-z, --לִדחוֹס
לִדחוֹס. זהו מצב הפעולה המוגדר כברירת מחדל כאשר אין אפשרות למצב פעולה
שצוין ושום מצב פעולה אחר אינו משתמע משם הפקודה (עבור
דוגמא, unxz מרמז --לְשַׁחְרֵר לָחָץ).

-d, --לְשַׁחְרֵר לָחָץ, --לבטל דחיסה
לְשַׁחְרֵר לָחָץ.

-t, --מִבְחָן
בדוק את תקינות הדחוס קבצים. אפשרות זו מקבילה ל --לְשַׁחְרֵר לָחָץ
--stdout אלא שהנתונים המפורקים נמחקים במקום להיכתב אליהם
פלט סטנדרטי. לא נוצרים או מוסרים קבצים.

-l, --רשימה
הדפס מידע על דחוס קבצים. לא מופק פלט לא דחוס, ו
לא נוצרים או מוסרים קבצים. במצב רשימה, התוכנית לא יכולה לקרוא את
נתונים דחוסים מקלט סטנדרטי או ממקורות אחרים שאינם ניתנים לחיפוש.

רישום ברירת המחדל מציג מידע בסיסי על קבצים, קובץ אחד בכל שורה. להשיג
מידע מפורט יותר, השתמש גם ב- --מִלוּלִי אוֹפְּצִיָה. אפילו ליותר
מידע, שימוש --מִלוּלִי פעמיים, אבל שים לב שזה עשוי להיות איטי, כי מקבל
כל המידע הנוסף דורש חיפושים רבים. רוחב הפלט המילולי חורג
80 תווים, אז העברת הפלט לדוגמא פחות -S עשוי להיות נוח אם
המסוף אינו רחב מספיק.

הפלט המדויק עשוי להשתנות בין xz גרסאות ומקומות שונים. עבור מכונה-
פלט קריא, --רוֹבּוֹט --רשימה יש להשתמש.

פעולה משנים
-k, --לִשְׁמוֹר
אל תמחק את קבצי הקלט.

-f, --כּוֹחַ
לאפשרות זו מספר השפעות:

· אם קובץ היעד כבר קיים, מחק אותו לפני הדחיסה או
שחרור דחיסה.

· דחיסה או דחיסה גם אם הקלט הוא קישור סמלי לקובץ רגיל,
יש יותר מקישור קשיח אחד, או שה-setuid, setgid או sticky bit מוגדרים. ה
setuid, setgid ו-sticky bits אינם מועתקים לקובץ היעד.

· בשימוש עם --לְשַׁחְרֵר לָחָץ --stdout ו xz לא יכול לזהות את סוג ה-
קובץ המקור, העתק את קובץ המקור כפי שהוא לפלט רגיל. זה מאפשר xzcat
--כּוֹחַ לשמש כמו חתול(1) עבור קבצים שלא נדחסו איתם xz.
שימו לב שבעתיד, xz עשוי לתמוך בפורמטים חדשים של קבצים דחוסים, אשר עשויים
לעשות xz דחוס יותר סוגי קבצים במקום להעתיק אותם כסטנדרט
פלט. --פורמט=פוּרמָט ניתן להשתמש כדי להגביל xz לדחוס רק אחד
פורמט קובץ.

-c, --stdout, --to-stdout
כתוב את הנתונים הדחוסים או הדחוסים לפלט סטנדרטי במקום לקובץ.
זה מרמז --לִשְׁמוֹר.

--זרם יחיד
שחרר רק את הראשון .xz להזרים, ולהתעלם בשקט מהקלט האפשרי שנותר
נתונים בעקבות הזרם. בדרך כלל עושה זבל נגרר כזה xz להציג an
שגיאה.

xz אף פעם לא מפרקת יותר מזרם אחד מ .lzma קבצים או זרמים גולמיים, אבל
אפשרות זו עדיין עושה xz התעלם מהנתונים הנגררים האפשריים לאחר ה .lzma פילה
או זרם גולמי.

לאפשרות זו אין השפעה אם מצב הפעולה אינו --לְשַׁחְרֵר לָחָץ or --מִבְחָן.

--לא-דל
השבת יצירה של קבצים דלילים. כברירת מחדל, אם מוציאים דחיסה לרגיל
קובץ, xz מנסה להפוך את הקובץ לדליל אם הנתונים המפורקים מכילים ארוכים
רצפים של אפסים בינאריים. זה עובד גם כשכותבים לפלט סטנדרטי כל עוד
כפלט סטנדרטי מחובר לקובץ רגיל ולתנאים נוספים מסוימים
נפגשו כדי לעשות את זה בטוח. יצירת קבצים דלילים עשויה לחסוך מקום בדיסק ולהאיץ
הפירוק על ידי הפחתת כמות הקלט/פלט של הדיסק.

-S .סוף, --סיומת=.סוף
בעת דחיסה, השתמש .סוף בתור הסיומת לקובץ היעד במקום .xz or
.lzma. אם לא כותבים לפלט סטנדרטי ולקובץ המקור כבר יש את
סִיוֹמֶת .סוף, מוצגת אזהרה והקובץ נדלג.

בעת ביטול הדחיסה, מזהה קבצים עם הסיומת .סוף בנוסף לקבצים עם
מה היא .xz, .txz, .lzma, או .tlz סִיוֹמֶת. אם לקובץ המקור יש את הסיומת .סוף, ה
הסיומת מוסרת כדי לקבל את שם קובץ היעד.

בעת דחיסה או שחרור של זרמים גולמיים (--פורמט=גולמי), הסיומת חייבת
תמיד יצוין אלא אם כן כותבים לפלט סטנדרטי, כי אין ברירת מחדל
סיומת לזרמים גולמיים.

--קבצים[=פילה]
קרא את שמות הקבצים לעיבוד פילה; אם פילה מושמט, שמות הקבצים נקראים
מקלט רגיל. יש לסיים את שמות הקבצים עם תו השורה החדשה. א
לזנק (-) נלקח כשם קובץ רגיל; זה לא אומר קלט סטנדרטי. אם
שמות הקבצים ניתנים גם כארגומנטים של שורת הפקודה, הם מעובדים לפני ה-
שמות קבצים שנקראו פילה.

--קבצים0[=פילה]
זה זהה ל --קבצים[=פילה] אלא שכל שם קובץ חייב להסתיים
עם תו האפס.

בסיסי פילה פוּרמָט ו דְחִיסָה אפשרויות
-F פוּרמָט, --פורמט=פוּרמָט
ציין את הקובץ פוּרמָט לדחוס או לדחוס:

המכונית זוהי ברירת המחדל. בעת דחיסה, המכונית שווה xz. כאשר
ביטול דחיסה, הפורמט של קובץ הקלט מזוהה אוטומטית. הערה
שזרמים גולמיים (נוצר עם --פורמט=גולמי) לא ניתן לזהות אוטומטית.

xz דחוס ל .xz פורמט קובץ, או קבל בלבד .xz קבצים מתי
שחרור דחיסה.

lzma, לבד
דחוס למורשת .lzma פורמט קובץ, או קבל בלבד .lzma קבצים מתי
שחרור דחיסה. השם החלופי לבד מסופק לאחור
תאימות עם LZMA Utils.

חי דחוס או בטל דחיסה של זרם גולמי (ללא כותרות). זה נועד עבור
משתמשים מתקדמים בלבד. כדי לפענח זרמים גולמיים, אתה צריך להשתמש --פורמט=גולמי ו
ציין במפורש את שרשרת המסנן, שבדרך כלל הייתה מאוחסנת
בכותרות המכולה.

-C לבדוק, --בדוק=לבדוק
ציין את סוג בדיקת התקינות. הצ'ק מחושב מתוך
נתונים לא דחוסים ומאוחסנים ב .xz קוֹבֶץ. אפשרות זו משפיעה רק כאשר
דחיסה לתוך .xz פוּרמָט; ה .lzma הפורמט אינו תומך בבדיקות תקינות.
בדיקת התקינות (אם קיימת) מאומתת כאשר .xz הקובץ מפורק.

נתמך לבדוק you

אף לא אחד אל תחשב בדיקת תקינות כלל. זה בדרך כלל רעיון רע.
זה יכול להיות שימושי כאשר שלמות הנתונים מאומתת באמצעים אחרים
בכל מקרה.

crc32 חשב CRC32 באמצעות הפולינום מ-IEEE-802.3 (Ethernet).

crc64 חשב CRC64 באמצעות הפולינום מ-ECMA-182. זו ברירת המחדל,
מכיוון שהוא מעט טוב יותר מ-CRC32 באיתור קבצים פגומים ו-
הפרש המהירות זניח.

sha256 חשב את SHA-256. זה קצת יותר איטי מ-CRC32 ו-CRC64.

שלמות של .xz כותרות תמיד מאומתות עם CRC32. אי אפשר
לשנות או להשבית אותו.

-0 ... -9
בחר רמת דחיסה מוגדרת מראש. ברירת המחדל היא -6. אם מספר רמות מוגדרות מראש
מצוינים, האחרון ייכנס לתוקף. אם כבר הייתה שרשרת סינון מותאמת אישית
שצוין, הגדרת רמת דחיסה מוגדרת מראש מנקה את שרשרת הסינון המותאמת אישית.

ההבדלים בין הקביעות מראש משמעותיות יותר מאשר עם מופעלת דחיסת(1) ו
bzip2(1). הגדרות הדחיסה שנבחרו קובעות את דרישות הזיכרון של
המדחס, ובכך שימוש ברמה מוגדרת מראש גבוהה מדי עלול לגרום לכאב
לפרק את הקובץ במערכת ישנה עם מעט זיכרון RAM. במיוחד, זה לֹא a
טוב רעיון ל בעיוורון להשתמש -9 ל הכל כמו שזה קורה לעתים קרובות עם מופעלת דחיסת(1) ו
bzip2(1).

-0 ... -3
אלו הן הגדרות קבועות מראש במקצת. -0 הוא לפעמים מהיר יותר מ מופעלת דחיסת -9 בזמן
לדחוס הרבה יותר טוב. לגבוהים יש לרוב מהירות דומה ל
bzip2(1) עם יחס דחיסה דומה או טוב יותר, אם כי התוצאות
תלוי מאוד בסוג הנתונים הנדחסים.

-4 ... -6
דחיסה טובה עד טובה מאוד תוך שמירה על שימוש בזיכרון של מדחס
סביר אפילו עבור מערכות ישנות. -6 הוא ברירת המחדל, וזה בדרך כלל טוב
בחירה למשל להפצת קבצים שצריכים להיות ניתנים לביטול גם על
מערכות עם רק 16 MiB RAM. (-5e or -6e אולי שווה לשקול גם.
לִרְאוֹת - קיצוני.)

-7 ... -9
אלה כמו -6 אבל עם זיכרון מדחס ופורקן גבוה יותר
דרישות. אלה שימושיים רק בעת דחיסה של קבצים גדולים מ
8 MiB, 16 MiB ו-32 MiB, בהתאמה.

באותה חומרה, מהירות הדקומפרסיה היא בערך מספר קבוע של
בתים של נתונים דחוסים לשנייה. במילים אחרות, ככל שהדחיסה טובה יותר,
ככל שהפירוק יהיה מהיר יותר בדרך כלל. זה גם אומר שהכמות של
פלט לא דחוס המופק לשנייה יכול להשתנות מאוד.

הטבלה הבאה מסכמת את התכונות של הקביעות המוגדרות מראש:

מוגדר מראש DictSize CompCPU CompMem DecMem
-0 256 KiB 0 3 MiB 1 MiB
-1 1 MiB 1 9 MiB 2 MiB
-2 2 MiB 2 17 MiB 3 MiB
-3 4 MiB 3 32 MiB 5 MiB
-4 4 MiB 4 48 MiB 5 MiB
-5 8 MiB 5 94 MiB 9 MiB
-6 8 MiB 6 94 MiB 9 MiB
-7 16 MiB 6 186 MiB 17 MiB
-8 32 MiB 6 370 MiB 33 MiB
-9 64 MiB 6 674 MiB 65 MiB

תיאורי עמודות:

· DictSize הוא גודל המילון LZMA2. זה בזבוז זיכרון להשתמש ב-a
מילון גדול מגודל הקובץ הלא דחוס. זו הסיבה לכך
טוב להימנע משימוש בהגדרות המוגדרות מראש -7 ... -9 כשאין צורך אמיתי בהם.
At -6 ומטה יותר, כמות הזיכרון המבוזבזת היא בדרך כלל נמוכה מספיק כדי שלא
עניין.

· CompCPU הוא ייצוג פשוט של הגדרות LZMA2 המשפיעות
מהירות דחיסה. גודל המילון משפיע גם על המהירות, כך שבעוד CompCPU כן
אותו דבר עבור רמות -6 ... -9, רמות גבוהות יותר עדיין נוטות להיות קצת יותר איטיות.
כדי לקבל דחיסה אטית יותר ובכך אולי טובה יותר, ראה - קיצוני.

· CompMem מכיל את דרישות זיכרון המדחס במצב חוט יחיד.
זה עשוי להשתנות מעט בין xz גרסאות. דרישות הזיכרון של חלק מה
מצבי ריבוי הליכי בעתיד עשויים להיות גבוהים באופן דרמטי מזה של יחידת
מצב מושחל.

· DecMem מכיל את דרישות זיכרון הדקומפרסור. כלומר, הדחיסה
ההגדרות קובעות את דרישות הזיכרון של הדקומפרסור. המדויק
השימוש בזיכרון הדקומפרסור הוא מעט יותר מגודל המילון LZMA2, אבל
הערכים בטבלה עוגלו כלפי מעלה ל-MiB המלא הבא.

-e, - קיצוני
השתמש בגרסה איטית יותר של רמת הדחיסה שנבחרה מראש (-0 ... -9) כדי
אני מקווה לקבל קצת יותר יחס דחיסה, אבל עם מזל רע זה יכול
גם להחמיר את זה. השימוש בזיכרון מדחס אינו מושפע, אלא מדחס
השימוש בזיכרון עולה מעט ברמות מוגדרות מראש -0 ... -3.

מכיוון שישנן שתי הגדרות מוגדרות מראש בגדלים של מילון 4 MiB ו-8 MiB, הקביעות המוגדרות מראש -3e
ו -5e השתמש בהגדרות מעט מהירות יותר (CompCPU נמוך יותר) מאשר -4e ו -6e,
בהתאמה. כך אין שתי הגדרות קבועות מראש זהות.

מוגדר מראש DictSize CompCPU CompMem DecMem
-0e 256 KiB 8 4 MiB 1 MiB
-1e 1 MiB 8 13 MiB 2 MiB
-2e 2 MiB 8 25 MiB 3 MiB
-3e 4 MiB 7 48 MiB 5 MiB
-4e 4 MiB 8 48 MiB 5 MiB
-5e 8 MiB 7 94 MiB 9 MiB
-6e 8 MiB 8 94 MiB 9 MiB
-7e 16 MiB 8 186 MiB 17 MiB
-8e 32 MiB 8 370 MiB 33 MiB
-9e 64 MiB 8 674 MiB 65 MiB

לדוגמה, יש בסך הכל ארבע הגדרות קבועות מראש המשתמשות במילון 8 MiB, אשר
סדר מהמהיר ביותר לאיטי ביותר -5, -6, -5e, ו -6e.

--מָהִיר
--הטוב ביותר אלה הם כינויים מטעים במקצת עבור -0 ו -9, בהתאמה. אלו הם
מסופק רק עבור תאימות לאחור עם LZMA Utils. הימנע משימוש באלה
אפשרויות.

---block-size=גודל
בעת דחיסה ל- .xz פורמט, לפצל את נתוני הקלט לבלוקים של גודל בתים.
הבלוקים נדחסים באופן עצמאי זה מזה.

--memlimit-compress=להגביל
הגדר מגבלת שימוש בזיכרון עבור דחיסה. אם אפשרות זו צוינה מרובה
פעמים, האחרון נכנס לתוקף.

אם הגדרות הדחיסה עולות על להגביל, xz תתאים את ההגדרות כלפי מטה
כך שהמגבלה לא נחרגת יותר והצג הודעה אוטומטית
בוצעה התאמה. התאמות כאלה אינן מבוצעות בעת דחיסה עם
--פורמט=גולמי או אם --לא להתאים צוין. במקרים אלה, טעות היא
מוצג ו - xz ייצא עם סטטוס יציאה 1.

אל האני להגביל ניתן לציין במספר דרכים:

· להגביל יכול להיות ערך מוחלט בבתים. שימוש בסיומת מספר שלם כמו MiB
יכול להיות שימושי. דוגמא: --memlimit-compress=80MiB

· להגביל ניתן לציין כאחוז מסך הזיכרון הפיזי (RAM). זֶה
יכול להיות שימושי במיוחד בעת הגדרת ה XZ_DEFAULTS משתנה סביבה ב-a
סקריפט אתחול מעטפת המשותף בין מחשבים שונים. זֶה
הדרך שבה המגבלה גדלה אוטומטית במערכות עם יותר זיכרון. דוגמא:
--memlimit-compress=70%

· להגביל ניתן לאפס בחזרה לערך ברירת המחדל שלו על ידי הגדרתו ל 0. זה
כרגע שווה ערך להגדרת ה להגביל ל מקסימום (ללא הגבלת שימוש בזיכרון). פַּעַם
יושמה תמיכה בריבוי השחלות, ייתכן שיש הבדל ביניהם 0
ו מקסימום עבור המארז מרובה הליכי, אז מומלץ להשתמש 0 במקום מקסימום
עד שיוחלט על הפרטים.

ראו גם את הסעיף זכרון שימוש.

--memlimit-decompress=להגביל
הגדר מגבלת שימוש בזיכרון עבור שחרור לחץ. זה משפיע גם על --רשימה מצב. אם
הפעולה אינה אפשרית מבלי לחרוג מ- להגביל, xz יציג שגיאה
וביטול הדחיסה של הקובץ ייכשל. לִרְאוֹת --memlimit-compress=להגביל עבור אפשרי
דרכים לציין את להגביל.

-M להגביל, --memlimit=להגביל, --זיכרון=להגביל
זה שווה ערך לציון --memlimit-compress=להגביל
--memlimit-decompress=להגביל.

--לא להתאים
הצג שגיאה וצא אם הגדרות הדחיסה חורגות משימוש בזיכרון
לְהַגבִּיל. ברירת המחדל היא להתאים את ההגדרות כלפי מטה כך שהשימוש בזיכרון
אין חריגה מהמגבלה. התאמה אוטומטית מושבתת תמיד בעת יצירת raw
זרמים (--פורמט=גולמי).

-T אשכולות, --חוטים=אשכולות
ציין את מספר שרשורי העובדים לשימוש. המספר האמיתי של חוטים יכול להיות
פחות מ אשכולות אם שימוש בעוד שרשורים יחרוג ממגבלת השימוש בזיכרון.

רב-הברגה דְחִיסָה ו שִׁחרוּר לַחַץ יש לו לֹא יושם עדיין, so זֶה אוֹפְּצִיָה
יש ל לא השפעה ל עכשיו.

As of כתיבה (2010-09-27), it לא היה החליט if אשכולות יצטרך be מְשׁוּמָשׁ by
ברירת מחדל on רב-ליבות מערכות פעם תמיכה ל השחלה יש ל היה מוטמע.
תגובות יש לו ברוך הבא. הגורם המסבך הוא ששימוש בחוטים רבים יעשה זאת
להגדיל את השימוש בזיכרון באופן דרמטי. שים לב שאם ריבוי השרשורים יהיה
ברירת מחדל, זה כנראה ייעשה כך שמצבי יחיד ורב-הליכים
לייצר את אותו פלט, כך שיחס הדחיסה לא יושפע משמעותית אם
השרשור יהיה מופעל כברירת מחדל.

מותאם אישית מַדחֵס לסנן שרשראות
שרשרת סינון מותאמת אישית מאפשרת לציין את הגדרות הדחיסה בפירוט במקום
בהסתמך על ההגדרות המשויכות לרמות המוגדרות מראש. כאשר שרשרת סינון מותאמת אישית היא
שצוינו, אפשרויות רמת הדחיסה המוגדרות מראש (-0 ... -9 ו - קיצוני) בשקט
התעלם.

שרשרת סינון דומה לצנרת בשורת הפקודה. בעת דחיסה, ה
קלט לא דחוס עובר למסנן הראשון, שהפלט שלו עובר למסנן הבא (אם
כל). הפלט של המסנן האחרון נכתב לקובץ הדחוס. המקסימום
מספר המסננים בשרשרת הוא ארבעה, אך בדרך כלל לשרשרת מסננים יש רק אחד או שניים
מסננים.

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

שרשרת סינון מותאמת אישית מוגדרת על ידי שימוש באפשרות סינון אחת או יותר לפי הסדר שבהן
מבוקשים בשרשרת המסנן. כלומר, סדר אפשרויות הסינון הוא משמעותי!
בעת פענוח זרמים גולמיים (--פורמט=גולמי), שרשרת המסנן מצוינת באותו סדר
כפי שצוין בעת ​​הדחיסה.

מסננים מקבלים מסנן ספציפי אפשרויות כרשימה מופרדת בפסיקים. פסיקים נוספים פנימה אפשרויות
מתעלמים. לכל אפשרות יש ערך ברירת מחדל, אז אתה צריך לציין רק את אלה שאתה רוצה
לשנות.

--lzma1[=אפשרויות]
--lzma2[=אפשרויות]
הוסף מסנן LZMA1 או LZMA2 לשרשרת המסנן. ניתן להשתמש במסננים אלה רק כ
המסנן האחרון בשרשרת.

LZMA1 הוא מסנן מדור קודם, הנתמך כמעט אך ורק בשל המורשת .lzma
פורמט קובץ, התומך רק ב-LZMA1. LZMA2 היא גרסה מעודכנת של LZMA1 ל
תקן כמה בעיות מעשיות של LZMA1. ה .xz הפורמט משתמש ב-LZMA2 ואינו תומך
LZMA1 בכלל. מהירות הדחיסה והיחסים של LZMA1 ו-LZMA2 הם למעשה
אותו.

LZMA1 ו-LZMA2 חולקים את אותה קבוצה של אפשרויות:

מוגדר מראש=מראש
אפס את כל LZMA1 או LZMA2 אפשרויות ל מראש. קבוע מראש מורכב ממספר שלם,
שעשויים לבוא אחריו בשינויים מוגדרים מראש של אות אחת. המספר השלם יכול להיות
החל מ- 0 ל 9, בהתאמה לאפשרויות שורת הפקודה -0 ... -9. היחיד
השינוי הנתמך נמצא כרגע e, שתואם - קיצוני. ברירת המחדל
מראש is 6, שממנו ערכי ברירת המחדל עבור שאר ה-LZMA1 או
LZMA2 אפשרויות נלקחו.

dict=גודל
מילון (מאגר היסטוריה) גודל מציין כמה בתים של לאחרונה
נתונים מעובדים לא דחוסים נשמרים בזיכרון. האלגוריתם מנסה למצוא
חוזרים על רצפי בתים (התאמות) בנתונים הלא דחוסים, והחלפה
אותם עם הפניות לנתונים שנמצאים כרגע במילון. הגדול יותר
במילון, הסיכוי למצוא התאמה גבוהה יותר. לפיכך, עולה
מילון גודל בדרך כלל משפר את יחס הדחיסה, אבל מילון גדול יותר
הקובץ הלא דחוס הוא בזבוז זיכרון.

מילון טיפוסי גודל הוא מ-64 KiB ל-64 MiB. המינימום הוא 4 KiB.
המקסימום לדחיסה הוא כרגע 1.5 GiB (1536 MiB). ה
דקומפרסור כבר תומך במילונים של עד בייט אחד פחות מ-4 GiB,
שהוא המקסימום עבור פורמטי הזרם LZMA1 ו-LZMA2.

מילון גודל ומוצא התאמה (mf) קובעים יחד את השימוש בזיכרון של
מקודד LZMA1 או LZMA2. אותו מילון (או גדול יותר). גודל is
נדרש לפירוק ששימש בעת הדחיסה, ובכך הזיכרון
השימוש במפענח נקבע על פי גודל המילון המשמש כאשר
כְּבִישָׁה. ה .xz כותרות מאחסנות את המילון גודל או כ-2^n או 2^n
+ 2^(n-1), אז אלה גדל מועדפים במידה מסוימת עבור דחיסה. אַחֵר
גדל יעוגל כלפי מעלה כאשר יאוחסן ב- .xz כותרות.

lc=lc ציין את מספר סיביות ההקשר המילולי. המינימום הוא 0 וה-
המקסימום הוא 4; ברירת המחדל היא 3. בנוסף, הסכום של lc ו lp אסור לי
יעלה על 4.

כל הבתים שאינם ניתנים לקידוד כהתאמות מקודדים בתור מילוליים. זֶה
כלומר, מילטרים הם פשוט בתים של 8 סיביות שמקודדים אחד בכל פעם.

הקידוד המילולי מניח כי הגבוה ביותר lc חתיכות של
בתים לא דחוסים קודמים מתואמים לבייט הבא. למשל באופייני
טקסט באנגלית, אות גדולה מלווה לרוב באות קטנה,
ואות קטנה מלווה בדרך כלל באות קטנה נוספת.
בערכת התווים US-ASCII, שלושת הסיביות הגבוהות ביותר הן 010 לאותיות רישיות
אותיות ו-011 לאותיות קטנות. מתי lc הוא לפחות 3, המילולי
קידוד יכול לנצל את המאפיין הזה בנתונים הלא דחוסים.

ערך ברירת המחדל (3) הוא בדרך כלל טוב. אם אתה רוצה דחיסה מקסימלית,
מבחן lc=4. לפעמים זה עוזר קצת, ולפעמים זה עושה דחיסה
רע יותר. אם זה מחמיר את המצב, בדוק למשל lc=2 מדי.

lp=lp ציין את מספר סיביות המיקום המילולי. המינימום הוא 0 וה-
המקסימום הוא 4; ברירת המחדל היא 0.

Lp משפיע על איזה סוג של יישור בנתונים הלא דחוסים הוא ההנחה מתי
קידוד מילוליים. לִרְאוֹת pb להלן למידע נוסף על יישור.

pb=pb ציין את מספר סיביות המיקום. המינימום הוא 0 והמקסימום הוא 4;
ברירת המחדל היא 2.

Pb משפיע על איזה סוג של יישור בנתונים הלא דחוסים הוא הניח
כללי. ברירת המחדל פירושה יישור של ארבעה בתים (2^pb=2^2=4), וזה לעתים קרובות
בחירה טובה כשאין ניחוש טוב יותר.

כאשר היישור ידוע, הגדרה pb בהתאם עשוי להקטין את גודל הקובץ
קצת. למשל עם קבצי טקסט בעלי יישור של בייט אחד (US-ASCII,
ISO-8859-*, UTF-8), הגדרה pb=0 יכול לשפר מעט את הדחיסה. ל
טקסט UTF-16, pb=1 היא בחירה טובה. אם היישור הוא מספר אי זוגי כמו
3 בתים, pb=0 אולי הבחירה הטובה ביותר.

למרות שניתן להתאים את היישור המשוער עם pb ו lp, LZMA1 ו
LZMA2 עדיין בעד יישור של 16 בתים. אולי כדאי לקחת בחשבון
בחשבון בעת ​​עיצוב פורמטים של קבצים שסביר שיהיו דחוסים לעתים קרובות
עם LZMA1 או LZMA2.

mf=mf למחפש התאמה יש השפעה גדולה על מהירות המקודד, השימוש בזיכרון ו
יחס דחיסה. בדרך כלל מאתרי התאמת שרשרת Hash מהירים יותר מבינארי
מוצאי התאמות עצים. ברירת המחדל תלויה ב- מראש: 0 שימושים hc3, 1-3 שימוש
hc4, והשאר משתמשים bt4.

מאתרי ההתאמה הבאים נתמכים. נוסחאות השימוש בזיכרון למטה
הם קירובים גסים, שהם הכי קרובים למציאות מתי להכתיב הוא
כוח של שניים.

hc3 שרשרת Hash עם Hash של 2 ו-3 בתים
ערך מינימלי עבור נחמד: 3
שימוש בזיכרון:
להכתיב * 7.5 (אם להכתיב <= 16 MiB);
להכתיב * 5.5 + 64 MiB (אם להכתיב > 16 MiB)

hc4 שרשרת Hash עם Hash של 2, 3 ו-4 בתים
ערך מינימלי עבור נחמד: 4
שימוש בזיכרון:
להכתיב * 7.5 (אם להכתיב <= 32 MiB);
להכתיב * 6.5 (אם להכתיב > 32 MiB)

bt2 עץ בינארי עם גיבוב של 2 בתים
ערך מינימלי עבור נחמד: 2
שימוש בזיכרון: להכתיב * 9.5

bt3 עץ בינארי עם גיבוב של 2 ו-3 בתים
ערך מינימלי עבור נחמד: 3
שימוש בזיכרון:
להכתיב * 11.5 (אם להכתיב <= 16 MiB);
להכתיב * 9.5 + 64 MiB (אם להכתיב > 16 MiB)

bt4 עץ בינארי עם גיבוב של 2, 3 ו-4 בתים
ערך מינימלי עבור נחמד: 4
שימוש בזיכרון:
להכתיב * 11.5 (אם להכתיב <= 32 MiB);
להכתיב * 10.5 (אם להכתיב > 32 MiB)

מצב=מצב
דְחִיסָה מצב מפרט את השיטה לניתוח הנתונים המיוצרים על ידי
מאתר התאמה. נתמך מצבי יש לו מָהִיר ו נוֹרמָלִי. ברירת המחדל היא מָהִיר ל
הגדרות קבועות מראש 0-3 ו נוֹרמָלִי ל הגדרות קבועות מראש 4-9.

בדרך כלל מָהִיר משמש עם מוצאי התאמה של שרשרת Hash ו נוֹרמָלִי עם בינארי
מוצאי התאמות עצים. זה גם מה ש הגדרות קבועות מראש לעשות.

נחמד =נחמד
ציין מה נחשב כאורך נחמד להתאמה. פעם התאמה של
לפחות נחמד בייטים נמצא, האלגוריתם מפסיק לחפש אולי
התאמות טובות יותר.

נֶחְמָד יכול להיות 2-273 בתים. ערכים גבוהים יותר נוטים לתת דחיסה טובה יותר
יחס על חשבון מהירות. ברירת המחדל תלויה ב- מראש.

עומק=עומק
ציין את עומק החיפוש המרבי במאתר ההתאמה. ברירת המחדל היא ה
ערך מיוחד של 0, מה שגורם למדחס לקבוע סביר עומק
החל מ- mf ו נחמד.

סביר עומק עבור Hash Chains הוא 4-100 ו-16-1000 עבור עצים בינאריים.
שימוש בערכים גבוהים מאוד עבור עומק יכול להפוך את המקודד לאיטי במיוחד עם
כמה קבצים. הימנע מהגדרת ה עומק מעל 1000 אלא אם כן אתה מוכן לכך
להפסיק את הדחיסה במקרה שזה לוקח הרבה יותר מדי זמן.

בעת פענוח זרמים גולמיים (--פורמט=גולמי), LZMA2 צריך רק את המילון גודל.
צריך גם LZMA1 lc, lp, ו pb.

--x86[=אפשרויות]
--powerpc[=אפשרויות]
--ia64[=אפשרויות]
--זְרוֹעַ[=אפשרויות]
--אגודל[=אפשרויות]
--sparc[=אפשרויות]
הוסף מסנן סניף/קריאה/קפיצה (BCJ) לשרשרת הסינון. ניתן להשתמש במסננים אלו
רק כמסנן לא אחרון בשרשרת המסנן.

מסנן BCJ ממיר כתובות יחסיות בקוד המכונה למוחלט שלהן
עמיתים. זה לא משנה את גודל הנתונים, אבל זה גדל
יתירות, שיכולה לעזור ל-LZMA2 לייצר 0-15% קטן יותר .xz קוֹבֶץ. ה-BCJ
מסננים הם תמיד הפיכים, כך ששימוש במסנן BCJ לסוג נתונים שגוי אינו עושה זאת
לגרום לאובדן נתונים כלשהו, ​​אם כי זה עלול להחמיר מעט את יחס הדחיסה.

זה בסדר להחיל מסנן BCJ על קובץ הפעלה שלם; אין צורך ליישם את זה
רק בחלק ההפעלה. החלת מסנן BCJ על ארכיון המכיל
גם קבצי הפעלה וגם לא ניתנים להפעלה עשויים לתת תוצאות טובות או לא, אז זה
בדרך כלל לא טוב להחיל באופן עיוור מסנן BCJ בעת דחיסה של חבילות בינאריות
להפצה.

מסנני BCJ אלה מהירים מאוד ומשתמשים בכמות זיכרון לא משמעותית. אם BCJ
מסנן משפר את יחס הדחיסה של קובץ, הוא יכול לשפר את מהירות הדחיסה ב
אותו זמן. הסיבה לכך היא שבאותה חומרה, מהירות הדקומפרסיה של
LZMA2 הוא בערך מספר קבוע של בתים של נתונים דחוסים בשנייה.

למסנני BCJ אלה יש בעיות ידועות הקשורות ליחס הדחיסה:

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

· החלת מסנן BCJ על ארכיון המכיל מספר קובצי הפעלה דומים יכול
להפוך את יחס הדחיסה לגרוע יותר מאשר אי שימוש במסנן BCJ. זה בגלל ש
מסנן BCJ אינו מזהה את הגבולות של קבצי ההפעלה, וכן
אינו מאפס את מונה המרת הכתובות עבור כל קובץ הפעלה.

שתי הבעיות לעיל יתוקנו בעתיד במסנן חדש. הישן
מסנני BCJ עדיין יהיו שימושיים במערכות משובצות, מכיוון שהמפענח של ה
המסנן החדש יהיה גדול יותר וישתמש ביותר זיכרון.

לערכות הוראות שונות יש יישור שונה:

הערות יישור מסנן
x86 1 32 סיביות או 64 סיביות x86
PowerPC 4 Big Endian בלבד
ARM 4 Little endian בלבד
ARM-Thumb 2 Little endian בלבד
IA-64 16 אנדיאן גדול או קטן
SPARC 4 אנדיאן גדול או קטן

מכיוון שהנתונים המסוננים על ידי BCJ נדחסים בדרך כלל עם LZMA2, יחס הדחיסה
עשוי להשתפר מעט אם אפשרויות LZMA2 מוגדרות כך שיתאימו ליישור של
מסנן BCJ שנבחר. לדוגמה, עם מסנן IA-64, זה טוב להגדיר pb=4
עם LZMA2 (2^4=16). מסנן x86 הוא חריג; בדרך כלל טוב להיצמד אליו
יישור ברירת המחדל של LZMA2 של ארבעה בתים בעת דחיסת קובצי הפעלה של x86.

כל מסנני BCJ תומכים באותו אופן אפשרויות:

להתחיל=לקזז
ציין את ההתחלה לקזז המשמש בעת המרה בין יחסי ו
כתובות מוחלטות. ה לקזז חייב להיות כפולה של היישור של
מסנן (ראה את הטבלה למעלה). ברירת המחדל היא אפס. בפועל, ה
ברירת המחדל טובה; ציון מנהג לקזז כמעט אף פעם לא שימושי.

--דֶלתָא[=אפשרויות]
הוסף את מסנן הדלתא לשרשרת המסנן. ניתן להשתמש בפילטר הדלתא רק בתור א
מסנן לא אחרון בשרשרת המסנן.

נכון לעכשיו, רק חישוב דלתא פשוט של בתים נתמך. זה יכול להיות שימושי
בעת דחיסה למשל תמונות Bitmap לא דחוסות או אודיו PCM לא דחוס.
עם זאת, אלגוריתמים למטרות מיוחדות עשויים לתת תוצאות טובות משמעותית מאשר
דלתא + LZMA2. זה נכון במיוחד עם אודיו, אשר דוחס מהר יותר ו
עדיף למשל עם flac(1).

נתמך אפשרויות:

dist=מרחק
ציין את מרחק של חישוב הדלתא בבתים. מרחק חייב להיות
1-256. ברירת המחדל היא 1.

לדוגמה, עם dist=2 וקלט שמונה בתים A1 B1 A2 B3 A3 B5 A4 B7, ה
הפלט יהיה A1 B1 01 02 01 02 01 02.

אחר אפשרויות
-q, --שֶׁקֶט
דכא אזהרות והודעות. ציין זאת פעמיים כדי לדכא גם שגיאות. זֶה
לאפשרות אין השפעה על מצב היציאה. כלומר, גם אם הייתה אזהרה
מודחק, מצב היציאה לציון אזהרה עדיין בשימוש.

-v, --מִלוּלִי
היו מילוליים. אם שגיאה סטנדרטית מחוברת למסוף, xz יציג א
מחוון התקדמות. מפרט --מִלוּלִי פעמיים ייתן פלט רב עוד יותר.

מחוון ההתקדמות מציג את המידע הבא:

· אחוז ההשלמה מוצג אם גודל קובץ הקלט ידוע. זה,
לא ניתן להציג את האחוז בצינורות.

· כמות נתונים דחוסים שהופקו (דחיסה) או נצרך (פירוק).

· כמות נתונים לא דחוסים שנצרכו (דחיסה) או שהופקו (פירוק).

· יחס דחיסה, המחושב על ידי חלוקת כמות הנתונים הדחוסים
עובד עד כה לפי כמות הנתונים הלא דחוסים שעובדו עד כה.

· מהירות דחיסה או דקומפרסיה. זה נמדד ככמות של
נתונים לא דחוסים שנצרכו (דחיסה) או מיוצרים (דקומפרסיה) בשנייה.
הוא מוצג לאחר שחלפו כמה שניות מאז xz התחיל לעבד את
קובץ.

· זמן שחלף בפורמט M:SS או H:MM:SS.

· זמן שנותר משוער מוצג רק כאשר גודל קובץ הקלט ידוע
ומאז כבר חלפו כמה שניות xz התחיל לעבד את
קוֹבֶץ. השעה מוצגת בפורמט פחות מדויק, שלעולם אין בו נקודתיים,
למשל 2 דקות 30 שניות.

כאשר שגיאת תקן אינה מסוף, --מִלוּלִי יעשה xz להדפיס את שם הקובץ,
גודל דחוס, גודל לא דחוס, יחס דחיסה, ואולי גם המהירות
וזמן שחלף על קו בודד לשגיאת תקן לאחר דחיסה או
פירוק הקובץ. המהירות והזמן שחלף נכללים רק כאשר
הפעולה ארכה לפחות כמה שניות. אם הפעולה לא הסתיימה, למשל עקב
הפרעת משתמש, גם אחוז ההשלמה מודפס אם הגודל של
קובץ הקלט ידוע.

-Q, --לא אזהרה
אל תגדיר את מצב היציאה ל-2 גם אם זוהה מצב ששווה אזהרה.
אפשרות זו אינה משפיעה על רמת הדיבור, ולכן גם וגם --שֶׁקֶט ו --לא אזהרה
יש להשתמש כדי לא להציג אזהרות וכדי לא לשנות את מצב היציאה.

--רוֹבּוֹט
הדפס הודעות בפורמט שניתן לנתח על ידי מכונה. זה נועד להקל על הכתיבה
חזיתות שרוצים להשתמש xz במקום ליבלזמה, מה שעשוי להיות המקרה עם
תסריטים שונים. הפלט עם אפשרות זו מופעלת אמור להיות יציב לרוחבו
xz משחרר. עיין בסעיף רוֹבּוֹט MODE לקבלת פרטים.

--זיכרון מידע
הצג, בפורמט קריא אנושי, כמה זיכרון פיזי (RAM) xz חושב את
למערכת יש את מגבלות השימוש בזיכרון עבור דחיסה ופירוק ויציאה
בְּהַצלָחָה.

-h, - עזרה
הצג הודעת עזרה המתארת ​​את האפשרויות הנפוצות ביותר וצא
בְּהַצלָחָה.

-H, --עזרה ארוכה
הצג הודעת עזרה המתארת ​​את כל התכונות של xz, וצא בהצלחה

-V, --גִרְסָה
הצג את מספר הגרסה של xz וליבלזמה בפורמט קריא אנושי. להשיג
פלט שניתן לנתח במכונה, ציין --רוֹבּוֹט לפני --גִרְסָה.

רוֹבּוֹט MODE


מצב הרובוט מופעל עם --רוֹבּוֹט אוֹפְּצִיָה. זה עושה את הפלט של xz קל יותר ל
ניתוח לפי תוכניות אחרות. כַּיוֹם --רוֹבּוֹט נתמך רק יחד עם --גִרְסָה,
--זיכרון מידע, ו --רשימה. זה יהיה נתמך עבור דחיסה ופירוק רגילים
בעתיד.

גִרְסָה
xz --רוֹבּוֹט --גִרְסָה ידפיס את מספר הגרסה של xz וליבלזמה להלן
פורמט:

XZ_VERSION=XYYYZZZS
LIBLZMA_VERSION=XYYYZZZS

X גרסה מרכזית.

Yyy גרסה מינורית. המספרים הזוגיים יציבים. מספרים אי זוגיים הם גרסאות אלפא או בטא.

Zzz רמת תיקון עבור מהדורות יציבות או רק מונה עבור מהדורות פיתוח.

S יַצִיבוּת. 0 הוא אלפא, 1 הוא בטא ו-2 הוא יציב. S צריך להיות תמיד 2 כאשר Yyy
שווה.

XYYYZZZS זהים בשני הקווים אם xz ו-liblzma הם מאותה מהדורה של XZ Utils.

דוגמאות: 4.999.9 בטא הוא 49990091 ו 5.0.0 הוא 50000002.

זכרון להגביל מידע
xz --רוֹבּוֹט --זיכרון מידע מדפיס שורה אחת עם שלוש עמודות מופרדות בטאב:

1. כמות כוללת של זיכרון פיזי (RAM) בבתים

2. מגבלת שימוש בזיכרון לדחיסה בבייטים. ערך מיוחד של אפס מציין את
הגדרת ברירת המחדל, אשר עבור מצב חוט יחיד זהה ללא הגבלה.

3. מגבלת שימוש בזיכרון לפירוק בבתים. ערך מיוחד של אפס מציין את
הגדרת ברירת המחדל, אשר עבור מצב חוט יחיד זהה ללא הגבלה.

בעתיד, הפלט של xz --רוֹבּוֹט --זיכרון מידע אולי יהיו יותר עמודות, אבל לעולם לא
יותר משורה אחת.

רשימה מצב
xz --רוֹבּוֹט --רשימה משתמש בפלט מופרד בטאבים. בעמודה הראשונה של כל שורה יש מחרוזת
שמציין את סוג המידע שנמצא בשורה זו:

שם זו תמיד השורה הראשונה כאשר מתחילים לרשום קובץ. העמודה השנייה על
השורה היא שם הקובץ.

פילה שורה זו מכילה מידע כללי על .xz קוֹבֶץ. הקו הזה תמיד
מודפס לאחר ה שם קו.

זרם סוג קו זה משמש רק כאשר --מִלוּלִי צוין. יש כמו הרבה זרם
קווים כפי שיש נחלים ב .xz קובץ.

בלוק סוג קו זה משמש רק כאשר --מִלוּלִי צוין. יש כמו הרבה בלוק
קווים כמו שיש בלוקים ב- .xz קובץ. ה בלוק שורות מוצגות אחרי כל
זרם שורות; סוגי קווים שונים אינם משולבים.

תקציר
סוג קו זה משמש רק כאשר --מִלוּלִי צוין פעמיים. השורה הזו היא
מודפס אחרי הכל בלוק שורות. כמו פילה ליין, תקציר שורה מכילה
מידע כולל על .xz קובץ.

סך הכל שורה זו היא תמיד השורה האחרונה של פלט הרשימה. זה מראה את הסכום הכולל
ספירות וגדלים.

העמודות של ה פילה שורות:
2. מספר הזרמים בקובץ
3. המספר הכולל של בלוקים בזרם/ים
4. גודל דחוס של הקובץ
5. גודל לא דחוס של הקובץ
6. יחס דחיסה, למשל 0.123. אם היחס הוא מעל 9.999, שלושה מקפים
(---) מוצגים במקום היחס.
7. רשימה מופרדת בפסיקים של שמות בדיקת תקינות. נעשה שימוש במחרוזות הבאות
עבור סוגי ההמחאות הידועים: ללא חתימה, CRC32, CRC64, ו SHA-256. לבדיקה לא ידועה
סוגים, לא ידוע-N משמש, איפה N הוא מזהה המחאה כמספר עשרוני (אחד או
שתי ספרות).
8. גודל כולל של ריפוד זרם בקובץ

העמודות של ה זרם שורות:
2. מספר זרם (הזרם הראשון הוא 1)
3. מספר בלוקים בזרם
4. היסט התחלה דחוס
5. היסט התחלה לא דחוס
6. גודל דחוס (לא כולל ריפוד זרם)
7. גודל לא דחוס
8. יחס דחיסה
9. שם בדיקת התקינות
10. גודל ריפוד הנחל

העמודות של ה בלוק שורות:
2. מספר הזרם המכיל את הבלוק הזה
3. מספר בלוק ביחס לתחילת הזרם (הגוש הראשון הוא 1)
4. מספר חסום ביחס לתחילת הקובץ
5. היסט התחלה דחוס ביחס לתחילת הקובץ
6. היסט התחלה לא דחוס ביחס לתחילת הקובץ
7. הגודל הדחוס הכולל של הבלוק (כולל כותרות)
8. גודל לא דחוס
9. יחס דחיסה
10. שם בדיקת התקינות

If --מִלוּלִי צוין פעמיים, עמודות נוספות נכללות ב- בלוק קווים.
אלה אינם מוצגים עם יחיד --מִלוּלִי, כי קבלת מידע זה דורשת
מחפשות רבות ולכן יכולות להיות איטיות:
11. ערך בדיקת התקינות בהקסדצימלי
12. גודל כותרת בלוק
13. דגלי חסימה: c מציין שקיים גודל דחוס, ו u מעיד על כך
קיים גודל לא דחוס. אם הדגל לא מוגדר, מקף (-) מוצג
במקום לשמור על אורך המחרוזת קבוע. דגלים חדשים עשויים להתווסף לסוף
המחרוזת בעתיד.
14. גודל הנתונים הדחוסים בפועל בבלוק (זה לא כולל את הבלוק
כותרת, ריפוד בלוק ושדות סימון)
15. כמות הזיכרון (בבתים) הנדרשת כדי לפרוק את הבלוק הזה עם זה xz
גרסה
16. שרשרת סינון. שים לב שרוב האפשרויות המשמשות בזמן דחיסה לא יכולות להיות
ידוע, כי רק האפשרויות הדרושות לפירוק מאוחסנות ב
מה היא .xz כותרות.

העמודות של ה תקציר שורות:
2. כמות הזיכרון (בבתים) הנדרשת כדי לפרוק את הקובץ הזה עם זה xz
גרסה
3. כן or לא מציין אם לכל כותרות הבלוק יש גם גודל דחוס וגם
גודל לא דחוס המאוחסן בהם
השאלה היא איך? xz 5.1.2אלפא:
4. מינימום xz הגרסה הנדרשת כדי לפרוק את הקובץ

העמודות של ה סך הכל קַו:
2. מספר זרמים
3. מספר בלוקים
4. גודל דחוס
5. גודל לא דחוס
6. יחס דחיסה ממוצע
7. רשימה מופרדת בפסיקים של שמות בדיקת תקינות שהיו בקבצים
8. גודל ריפוד זרם
9. מספר קבצים. זה כאן כדי לשמור על סדר העמודות המוקדמות יותר
אותו דבר כמו ב פילה קווים.

If --מִלוּלִי צוין פעמיים, עמודות נוספות נכללות ב- סך הכל קַו:
10. כמות הזיכרון המקסימלית (בבתים) הנדרשת כדי לפרוק את הקבצים באמצעות זה
xz גרסה
11. כן or לא מציין אם לכל כותרות הבלוק יש גם גודל דחוס וגם
גודל לא דחוס המאוחסן בהם
השאלה היא איך? xz 5.1.2אלפא:
12. מינימום xz הגרסה הנדרשת כדי לפרוק את הקובץ

גרסאות עתידיות עשויות להוסיף סוגי שורות חדשים וניתן להוסיף עמודות חדשות לשורה הקיימת
סוגים, אך העמודות הקיימות לא ישתנו.

יְצִיאָה סטָטוּס


0 הכול טוב.

1 התרחשה שגיאה.

2 התרחש משהו ששווה אזהרה, אך לא התרחשו שגיאות ממשיות.

הודעות (לא אזהרות או שגיאות) המודפסות בשגיאה רגילה אינן משפיעות על מצב היציאה.

הסביבה


xz מנתח רשימות מופרדות ברווחים של אפשרויות ממשתני הסביבה XZ_DEFAULTS ו
XZ_OPT, בסדר זה, לפני ניתוח האפשרויות משורת הפקודה. שימו לב שרק
אפשרויות מנותחות ממשתני הסביבה; מתעלמים בשקט מכל האפשרויות הלא-אפשרויות.
הניתוח נעשה עם getopt_long(3) המשמש גם עבור ארגומנטים של שורת הפקודה.

XZ_DEFAULTS
אפשרויות ברירת מחדל ספציפיות למשתמש או כלל המערכת. בדרך כלל זה מוגדר במעטפת
סקריפט אתחול כדי לאפשר xzמגביל השימוש בזיכרון כברירת מחדל. לְמַעֵט
סקריפטים לאתחול מעטפת ומקרים מיוחדים דומים, אסור לסקריפטים להגדיר או
ביטול ההגדרה XZ_DEFAULTS.

XZ_OPT זה בשביל להעביר אפשרויות ל xz כאשר לא ניתן להגדיר את האפשרויות
ישירות על xz שורת הפקודה. זה המקרה למשל מתי xz מנוהל על ידי סקריפט
או כלי, למשל GNU זפת(1):

XZ_OPT=-2v tar caf foo.tar.xz foo

סקריפטים עשויים להשתמש XZ_OPT למשל כדי להגדיר אפשרויות דחיסה ספציפיות לסקריפט המוגדרות כברירת מחדל. זה
עדיין מומלץ לאפשר למשתמשים לעקוף XZ_OPT אם זה סביר, למשל
in sh(1) סקריפטים שאפשר להשתמש במשהו כמו זה:

XZ_OPT=${XZ_OPT-"-7e"}
ייצא XZ_OPT

LZMA UTILS תְאִימוּת


תחביר שורת הפקודה של xz הוא למעשה ערכת-על של lzma, unlzma, ו lzcat as
נמצא מ-LZMA Utils 4.32.x. ברוב המקרים, ניתן להחליף את LZMA Utils ב-XZ
משתמש בלי לשבור סקריפטים קיימים. עם זאת יש כמה אי התאמה, אשר
עלול לפעמים לגרום לבעיות.

דְחִיסָה מראש רמות
המספור של הקביעות המוגדרות מראש של רמת הדחיסה אינו זהה ב xz ו-LZMA Utils. ה
ההבדל החשוב ביותר הוא האופן שבו גדלי מילון ממופים להגדרות קבועות מראש שונות.
גודל המילון שווה בערך לשימוש בזיכרון הדקומפרסור.

רמה xz LZMA Utils
-0 256 KiB N/A
-1 1 MiB 64 KiB
-2 2 MiB 1 MiB
-3 4 MiB 512 KiB
-4 4 MiB 1 MiB
-5 8 MiB 2 MiB
-6 8 MiB 4 MiB
-7 16 MiB 8 MiB
-8 32 MiB 16 MiB
-9 64 MiB 32 MiB

הבדלי גודל המילון משפיעים גם על השימוש בזיכרון המדחס, אבל יש כאלה
הבדלים נוספים בין LZMA Utils ו-XZ Utils, שהופכים את ההבדל לגדול עוד יותר:

רמה xz LZMA Utils 4.32.x
-0 3 MiB N/A
-1 9 MiB 2 MiB
-2 17 MiB 12 MiB
-3 32 MiB 12 MiB
-4 48 MiB 16 MiB
-5 94 MiB 26 MiB
-6 94 MiB 45 MiB
-7 186 MiB 83 MiB
-8 370 MiB 159 MiB
-9 674 MiB 311 MiB

רמת ברירת המחדל הקבועה מראש ב-LZMA Utils היא -7 בעוד ב-XZ Utils זה כן -6, אז שניהם משתמשים ב-8
מילון MiB כברירת מחדל.

זרם לעומת ללא סטרימינג .lzma קבצים
ניתן לאחסן את הגודל הלא דחוס של הקובץ ב- .lzma כּוֹתֶרֶת. LZMA Utils עושה את זה
בעת דחיסת קבצים רגילים. האלטרנטיבה היא לסמן שגודל לא דחוס הוא
לא ידוע והשתמש בסמן סוף עומס כדי לציין היכן צריך להפסיק את המדחס.
LZMA Utils משתמש בשיטה זו כאשר גודל לא דחוס אינו ידוע, וזה המקרה עבור
דוגמה בצינורות.

xz תומך בפירוק .lzma קבצים עם או בלי סמן סוף מטען, אבל כולם .lzma
קבצים שנוצרו על ידי xz ישתמש בסמן סוף מטען וגודל לא דחוס יסומן כ
לא ידוע ב .lzma כּוֹתֶרֶת. זו עשויה להיות בעיה במצבים לא שכיחים. ל
דוגמה, א .lzma דקומפרסור בהתקן מוטבע עשוי לעבוד רק עם קבצים שיש להם
גודל לא דחוס ידוע. אם נתקלת בבעיה זו, עליך להשתמש ב-LZMA Utils או ב-LZMA SDK
כדי ליצור .lzma קבצים בגודל לא דחוס ידוע.

אינו נתמך .lzma קבצים
אל האני .lzma הפורמט מאפשר lc ערכים עד 8, ו lp ערכים עד 4. LZMA Utils יכול
דחוס קבצים עם כל lc ו lp, אבל תמיד יוצר קבצים עם lc=3 ו lp=0.
יצירת קבצים עם אחרים lc ו lp אפשרי עם xz ועם LZMA SDK.

היישום של מסנן LZMA1 ב-liblzma דורש שהסכום של lc ו lp צריך
לא יעלה על 4. לפיכך, .lzma לא ניתן לפרק קבצים, החורגים ממגבלה זו
עם xz.

LZMA Utils יוצר בלבד .lzma קבצים בעלי גודל מילון של 2^n (חזקה של 2) אבל
מקבל קבצים בכל גודל מילון. liblzma מקבלת בלבד .lzma קבצים שיש להם א
גודל מילון של 2^n או 2^n + 2^(n-1). זה כדי להפחית תוצאות חיוביות שגויות כאשר
גילוי .lzma קבצים.

מגבלות אלו לא אמורות להוות בעיה בפועל, שכן כמעט כולן .lzma קבצים
נדחסו עם הגדרות ש-liblzma תקבל.

דלייה זבל
בעת ביטול הדחיסה, LZMA Utils מתעלם בשקט מהכל לאחר הראשון .lzma זרם.
ברוב המצבים, מדובר בבאג. זה גם אומר ש-LZMA Utils אינו תומך
decompressing משורשרים .lzma קבצים.

אם נשארו נתונים אחרי הראשון .lzma זרם, xz רואה בקובץ פגום
אלא אם כן --זרם יחיד שומש. זה עלול לשבור סקריפטים לא ברורים שהניחו זאת
מתעלמים מהזבל הנגרר.

אורים


דחוס תפוקה אולי לְהִשְׁתַנוֹת
הפלט הדחוס המדויק המופק מאותו קובץ קלט לא דחוס עשוי להשתנות
בין גרסאות XZ Utils גם אם אפשרויות הדחיסה זהות. זה בגלל ש
ניתן לשפר את המקודד (דחיסה מהירה יותר או טובה יותר) מבלי להשפיע על פורמט הקובץ.
הפלט יכול להשתנות אפילו בין גרסאות בנייה שונות של אותה גרסת XZ Utils, אם
נעשה שימוש באפשרויות בנייה שונות.

האמור לעיל אומר כי יישום --rsyncable כדי ליצור rsyncable .xz הקבצים לא הולכים
לקרות מבלי להקפיא חלק מיישום המקודד, אשר לאחר מכן ניתן להשתמש בו
עם --rsyncable.

Embedded .xz מדחסים
Embedded .xz יישומי דקומפרסור כמו XZ Embedded לא בהכרח תומכים בקבצים
נוצר מתוך יושרה לבדוק סוגים אחרים מאשר אף לא אחד ו crc32. מאז ברירת המחדל היא
--check=crc64, אתה חייב להשתמש --check=אין or --check=crc32 בעת יצירת קבצים להטמעה
מערכות.

מחוץ למערכות משובצות, הכל .xz פורמט דקומפרסורים תומכים בכל לבדוק סוגים, או ב
לפחות מסוגלים לפרק את הקובץ מבלי לאמת את בדיקת השלמות אם
מסוים לבדוק לא נתמך.

XZ Embedded תומך במסנני BCJ, אך רק עם היסט ההתחלה המוגדר כברירת מחדל.

דוגמאות


יסודות
דחוס את הקובץ Foo אל תוך foo.xz באמצעות רמת הדחיסה המוגדרת כברירת מחדל (-6), והסר Foo
אם הדחיסה הצליחה:

xz foo

לשחרר לחץ bar.xz אל תוך בָּר ואל תסיר bar.xz גם אם הפירוק מוצלח:

xz -dk bar.xz

צור baz.tar.xz עם הקביעה מראש -4e (-4 - קיצוני), שהוא איטי יותר מאשר למשל ה
ברירת מחדל -6, אבל צריך פחות זיכרון עבור דחיסה ופירוק (48 MiB ו-5 MiB,
בהתאמה):

tar cf - baz | xz -4e > baz.tar.xz

ניתן לפרק שילוב של קבצים דחוסים ולא דחוסים לפלט סטנדרטי עם a
פקודה בודדת:

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt

מקביל דְחִיסָה of רב קבצים
על GNU ו-*BSD, למצוא(1) ו קסארגס(1) ניתן להשתמש כדי להקביל דחיסה של רבים
קבצים:

למצוא . -סוג f \! -שם '*.xz' -print0 \
| xargs -0r -P4 -n16 xz -T1

אל האני -P אפשרות ל קסארגס(1) קובע את מספר המקבילים xz תהליכים. התמורה הטובה ביותר עבור
מה היא -n האפשרות תלויה בכמה קבצים יש לדחוס. אם יש רק א
כמה קבצים, הערך כנראה צריך להיות 1; עם עשרות אלפי קבצים, 100 או
אפילו יותר עשוי להיות מתאים כדי להפחית את מספר xz מעבד את זה קסארגס(1) יהיה
בסופו של דבר ליצור.

האפשרות -T1 ל xz הוא שם כדי לאלץ אותו למצב חוט יחיד, כי קסארגס(1) הוא
משמש לשליטה בכמות ההקבלה.

Robotic מצב
חשב כמה בתים נשמרו בסך הכל לאחר דחיסת קבצים מרובים:

xz --רובוט --list *.xz | awk '/^totals/{print $5-$4}'

סקריפט עשוי לרצות לדעת שהוא משתמש מספיק חדש xz. הבאים sh(1) תסריט
בודק שמספר הגרסה של xz הכלי הוא לפחות 5.0.0. שיטה זו היא
תואם לגרסאות בטא ישנות, שלא תמכו ב --רוֹבּוֹט אפשרות:

אם ! eval "$(xz --רובוט --גרסה 2> /dev/null)" ||
[ "$XZ_VERSION" -lt 50000002 ]; לאחר מכן
echo "ה-xz שלך ישן מדי."
fi
בטל את ההגדרה של XZ_VERSION LIBLZMA_VERSION

הגדר מגבלת שימוש בזיכרון עבור שחרור לחץ XZ_OPT, אבל אם כבר הייתה מגבלה
להגדיר, אל תגדיל את זה:

NEWLIM=$((123 << 20)) # 123 MiB
OLDLIM=$(xz --רובוט --מידע-זיכרון | חתך -f3)
if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; לאחר מכן
XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM"
ייצא XZ_OPT
fi

מותאם אישית מַדחֵס לסנן שרשראות
השימוש הפשוט ביותר עבור שרשראות מסננים מותאמות אישית הוא התאמה אישית של הגדרה מראש של LZMA2. זה יכול להיות
שימושי, מכיוון שההגדרות הקבועות מראש מכסות רק תת-קבוצה של השילובים העלולים להיות שימושיים של
הגדרות דחיסה.

עמודות CompCPU של הטבלאות מתוך תיאורי האפשרויות -0 ... -9 ו
- קיצוני שימושיים בעת התאמה אישית של הגדרות קבועות מראש של LZMA2. להלן החלקים הרלוונטיים
שנאספו משני הטבלאות הללו:

CompCPU מוגדר מראש
-0 0
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-5e 7
-6e 8

אם אתה יודע שקובץ דורש מילון קצת גדול (למשל 32 MiB) כדי לדחוס היטב,
אבל אתה רוצה לדחוס אותו מהר יותר מאשר xz -8 יעשה זאת, הגדרה מראש עם ערך CompCPU נמוך
(למשל 1) ניתן לשנות לשימוש במילון גדול יותר:

xz --lzma2=preset=1,dict=32MiB foo.tar

עם קבצים מסוימים, הפקודה לעיל עשויה להיות מהירה יותר מאשר xz -6 תוך כדי דחיסה
טוב משמעותית. עם זאת, יש להדגיש שרק חלק מהקבצים נהנים מא
מילון גדול תוך שמירה על ערך CompCPU נמוך. המצב הברור ביותר, שבו א
מילון גדול יכול לעזור מאוד, הוא ארכיון המכיל קבצים דומים מאוד של לפחות א
כמה מגה בייט כל אחד. גודל המילון צריך להיות גדול משמעותית מכל מילון
קובץ בודד כדי לאפשר ל-LZMA2 לנצל את מלוא הדמיון ביניהם
קבצים רצופים.

אם מדחס ו-decompressor גבוה מאוד, השימוש בזיכרון בסדר, והקובץ הוא
דחוס הוא לפחות כמה מאות מגה-בייט, זה עשוי להיות שימושי להשתמש אפילו גדול יותר
מילון מאשר 64 MiB כי xz -9 עלול להשתמש:

xz -vv --lzma2=dict=192MiB big_foo.tar

שימוש -vv (--מִלוּלִי --מִלוּלִי) כמו בדוגמה לעיל יכול להיות שימושי כדי לראות את הזיכרון
דרישות המדחס והפורקן. זכור כי שימוש במילון גדול יותר
מאשר שגודל הקובץ הלא דחוס הוא בזבוז זיכרון, אז הפקודה לעיל לא
שימושי עבור קבצים קטנים.

לפעמים זמן הדחיסה לא משנה, אבל השימוש בזיכרון הדקומפרסור חייב להיות
נשמר נמוך למשל כדי לאפשר לבטל את הדחיסה של הקובץ במערכת משובצת. ה
שימושי הפקודה הבאים -6e (-6 - קיצוני) כבסיס ומגדיר את המילון רק
64 KiB. ניתן לבטל את הדחיסה של הקובץ המתקבל באמצעות XZ Embedded (בגלל זה יש
--check=crc32) תוך שימוש בכ-100 KiB של זיכרון.

xz --check=crc32 --lzma2=preset=6e,dict=64KiB foo

אם אתה רוצה לסחוט כמה שיותר בתים, התאם את מספר הליטרים
סיביות הקשר (lc) ומספר סיביות מיקום (pb) יכול לפעמים לעזור. התאמת ה
מספר ביטים של מיקום מילולי (lp) עשוי לעזור גם, אבל בדרך כלל lc ו pb הם יותר
חָשׁוּב. למשל, ארכיון קוד מקור מכיל בעיקר טקסט US-ASCII, אז משהו כמו
הקובץ הבא עשוי לתת מעט (כמו 0.1%) קובץ קטן יותר מאשר xz -6e (נסה גם בלי
lc=4):

xz --lzma2=preset=6e,pb=0,lc=4 source_code.tar

שימוש במסנן אחר יחד עם LZMA2 יכול לשפר את הדחיסה עם סוגי קבצים מסוימים.
למשל כדי לדחוס ספרייה משותפת x86-32 או x86-64 באמצעות מסנן x86 BCJ:

xz --x86 --lzma2 libfoo.so

שימו לב שסדר אפשרויות הסינון הוא משמעותי. אם --x86 מצוין לאחר
--lzma2, xz ייתן שגיאה, כי לא יכול להיות שום פילטר אחרי LZMA2, וגם
מכיוון שלא ניתן להשתמש במסנן x86 BCJ בתור המסנן האחרון בשרשרת.

מסנן הדלתא יחד עם LZMA2 יכולים לתת תוצאות טובות עם תמונות מפת סיביות. זה אמור
בדרך כלל מנצח PNG, שיש לו כמה מסננים מתקדמים יותר מדלתא פשוטה, אבל משתמש ב-Deflate
עבור הדחיסה בפועל.

יש לשמור את התמונה בפורמט לא דחוס, למשל כ-TIFF לא דחוס. המרחק
הפרמטר של מסנן הדלתא מוגדר כך שיתאים למספר הבתים לפיקסל בתמונה.
למשל, צריך מפת סיביות של 24 סיביות RGB dist=3, וזה גם טוב לעבור pb=0 ל LZMA2 ל
להתאים את היישור של שלושה בתים:

xz --delta=dist=3 --lzma2=pb=0 foo.tiff

אם מספר תמונות הוכנסו לארכיון בודד (למשל .זֶפֶת), מסנן הדלתא יעשה זאת
תעבוד גם על זה כל עוד לכל התמונות יש את אותו מספר בתים לפיקסל.

השתמש ב-xzcat באינטרנט באמצעות שירותי onworks.net


Ad


Ad