(xz-utils או פשוט xz) הוא קוד פתוח לחלוטין פרוייקט תוכנה חופשית המספקת את כל השירותים החיוניים לעבוד עם XZ tarballs על כל מערכת ההפעלה גנו / לינוקס. זה מאפשר לך לחלץ את הארכיונים המסתיימים סיומות קובץ .xz או .zzma, כמו גם לדחוס קבצים ותיקיות עם שיטת דחיסת XZ, וכתוצאה מכך .xz, .lzma, tar.xz או tar.lzma ארכיון
אחד האלגוריתם דחיסה החזקים ביותר
XZ הוא ללא ספק אחד העולמות דחיסה האלגוריתם החזק ביותר, והוא פועל על מערכות גנו / לינוקס. הוא מסוגל ליצור ארכיונים כי הם קטנים פי שניים או שלושה יותר מאשר שיטות דחיסה פופולריים אחרים, כגון RAR, ZIP, GZ או BZ2. כדי להיות מדויק יותר, הארכיון XZ הם עם 15% קטן יותר מאשר bzip2 tarballs עם 30% קטן יותר מאשר קבצי gzip.
מה & rsquo; s בתיבה?
XZ Utils או xz-utils או xz הוא השם הרשמי של החבילה, שניתן להתקין בקלות על מערכות הפעלה רבות של גנו / לינוקס ממאגר התוכנות המוגדר כברירת מחדל. הוא כולל את ספריית הדחיסה של liblzma, את כלי שורת הפקודה xz ואת הכלי xzdec decompress בלבד.
בנוסף, הוא מגיע עם קבוצה של סקריפטים פגז, כולל xzgrep, xzegrep, xzfgrep, xzless, xzmore, xzcat, xzcmp ו xzdiff, המאפשרים לך להציג, להשוות ו Grep XZ הארכיונים, כמו גם את המרכיבים הדרושים כדי לטפל בארכיון LZMA, אשר כעת הוצא משימוש על ידי XZ. הפקודה XZ כוללת מספר אפשרויות חשובות, כולל היכולת לכפות לחץ לחץ ו דחיסה.
פלטפורמות נתמכות
תוכנת דחיסת הנתונים של XZ נתמכת באופן רשמי ב- GNU / Linux, ב- GNU / HURD, BSD (FreeBSD, OpenBSD, NetBSD, Dragonfly BSD ו- MirBSD), MINIX, Solaris, IRIX, AIX, QNX, Mac OS X, Haiku , HP-UX, Tru64, OpenVMS, OpenVOS, IBM OS / 2, DOS (FreeDOS ו- MS-DOS) וכן Microsoft Windows 95 ואילך.
מה חדש במהדורה זו:
- liblzma:
- אפשר 0 כגודל שימוש בזיכרון במקום להחזרת LZMA_PROG_ERROR. עכשיו 0 מטופל כאילו 1 בתים צוין, אשר למעשה הוא זהה 0.
- השתמש ב & quot; noexcept & quot; מילת מפתח במקום & quot; לזרוק () & quot; ב כותרות הציבור כאשר C + 11 (או מהדר חדש יותר) משמש.
- נוסף תיקון ניידות עבור המהדרים האחרונים של Intel C.
- Microsoft Visual Studio Build קבצים הועברו תחת Windows / vs2013 ו- Windows / vs2017.
- xz:
- תקן & quot; xz --list --robot missing_or_bad_file.xz & quot; אשר ינסה להדפיס מחרוזת Unitialized ובכך לייצר פלט אשפה. מאחר שמצב היציאה אינו אפס, רוב השימושים בפקודה כזו לא ינסו לפרש את תפוקת האשפה.
- & quot; xz --list foo.xz & quot; יכול להדפיס & quot; שגיאה פנימית (באג) & quot; במקרה פינתי שבו הוגדרה מגבלת שימוש בזיכרון.
מה חדש בגרסה:
- xz:
- סגור תמיד קובץ לפני שתנסה למחוק אותו, כדי למנוע בעיות במערכות הפעלה מסוימות של מערכת ההפעלה ושיתוף הקבצים.
- העתקה קבועה של חותמות זמן של קבצים ב- Windows.
- נוסף ניסיוני (מושבת כברירת מחדל) תמיכה בארגז חול באמצעות Capsicum (FreeBSD & gt; = 10). ראה - Enable-sandbox ב- INSTALL.
- C99 / C11 מתקן תיקונים ל- liblzma. הבעיות המושפעות ב- lesssome בונות תוך שימוש באופטימיזציות של קישור בזמן.
- תוקן באגים בפונקציה המשמשת לעתים נדירות lzma_index_dup ().
- השימוש בקוד SHA-256 חיצוני מושבת כעת כברירת מחדל. זה עדיין יכול להיות מופעל על ידי עובר -. הסיבות להשבית אותו כברירת מחדל (ראה התקנה לפרטים נוספים) ...
- חלק מיישומי SHA-256 מסוימים של מערכת ההפעלה מתנגשים עם OpenSSL וגורמים לבעיות בתוכניות המקשרות נגד liblzma ו- libcrypto. לפחות FreeBSD 10 ו- MINIX 3.3.0 מושפעים.
- ה- SHA-256 הפנימי מהיר יותר מקוד SHA-256 במערכות הפעלה מסוימות.
- שינוי ספירת הליבה של מעבד ה- CPU כדי להשתמש ב- calendar_getaffinity () ב- GNU / Linux ו- GNU / kFreeBSD.
- מתקן למערכת build ו- xz כדי להפוך את xz לבנוי גם כאשר מקודדים, מפענחים או שרשור הושבתו מ- libilzma באמצעות אפשרויות קביעת תצורה. תיקונים אלה הוסיפו שני #defines חדשים ל- config.h: HAVE_ENCODERS ו- HAVE_DECODERS.
מה חדש בגירסה 5.2.2:
- תוקן באגים בקוד הספציפי של QNX.
- מחק את השימוש בצינור 2 () גם אם הוא זמין כדי למנוע בעיות של ניידות עם שילובים ישנים של Linux ו- glibc.
- תרגום מעודכן לגרמנית.
- הוספת קבצי פרוייקט לבניית liblzma סטטית משותפת (לא כל Utils XZ) עם Visual Studio 2013 עדכון 2 או מאוחר יותר.
- מתועד כי שחרור לחץ על הליכי משנה לא יושם עדיין. ערך 5.2.0 NEWS המתאר תמיכה בריבוי הליכי משנה אמר באופן שגוי & quot; דחיסת לחץ & quot; כאשר הוא היה אמור לומר & quot; דחיסה & quot;.
מה חדש בגרסה 5.2.1:
- תוקנה רגרסיה של יחס דחיסה במצב מהיר של LZMA1 ו- LZMA2. הבאג נמצא ב 5.1.4beta ו 5.2.0 משחרר.
- תוקנה בעיית ניידות ב- xz שהשפיעה על OpenBSD לפחות.
- xzdiff קבוע כדי להיות תואם עם mktemp של FreeBSD אשר שונה ממרבית mktemp יישומים אחרים.
- שינוי ספירת הליבה של מעבד ה- CPU כדי להשתמש ב- cpuset_getaffinity () ב- FreeBSD.
מה חדש בגירסה 5.2.0:
- כל התיקונים מ 5.0.8
- liblzma: קבוע lzma_stream_encoder_mt_memusage () כאשר נעשה שימוש מראש.
- xzdiff: אם mktemp אינו מותקן, mkdir ישמש כחזרה כדי ליצור ספריה זמנית. עדיין מומלץ להתקין את mktemp.
- תרגומים מעודכנים של צרפתית, גרמנית, איטלקית, פולנית ויאטנמית.
מה חדש בגירסה 5.0.7:
- כל התיקונים מ 5.0.6
- liblzma: תוקן את השימוש בקביעות מוגדרות מראש באתחול קודאי משורשר.
- xz - block-list ו - block-size ניתן כעת להשתמש יחד במצב הליכי משנה בודדים. בעבר השילוב רק עבד במצב מרובה הליכי משנה.
- נוספה תמיכה עבור LZMA_IGNORE_CHECK ל- liblzma ועשתה אותו זמין ב- xz כ- checkore.
- אופטימיזציות מהירות liblzma:
- אתחול של LZMA1 חדש או LZMA2 מקודד כבר אופטימיזציה. (מהירות של reinitializing מקודד שהוקצה כבר לא מושפע). זה עוזר בעת דחיסת מאגרים קטנים רבים עם lzma_stream_buffer_encode () ומצבים דומים אחרים שבהם המדינה מקודדים כבר מוקצה לא בשימוש חוזר. מהירות זו נראית גם ב- xz, אם אחד דוחס קבצים קטנים רבים אחד בכל פעם במקום לרוץ xz פעם אחת ולתת את כל הקבצים כמו ארגומנטים שורת הפקודה.
- השוואות המאגר הן עכשיו הרבה יותר מהר כאשר גישה לא מסודרת מותרת (מוגדר עם --enable-unaligned- גישה). זה מאיץ קידוד משמעותי. יש קוד ספציפי לקשת עבור 32 סיביות ו- 64 סיביות x86 (32 סיביות צרכים SSE2 לקבלת התוצאות הטובות ביותר ואין זיהוי זמן ריצה CPU לעת עתה). עבור קשתות אחרות יש רק קוד כללי אשר כנראה לא אופטימלי כמו פתרונות ספציפיים קשת יכול להיות.
- נעשו כמה אופטימיזציות מהירות לקוד SHA-256. (שים לב שהקוד המובנה SHA-256 אינו בשימוש בכל מערכות ההפעלה.)
- liblzma יכול כעת להיבנות עם MSVC 2013 עדכון 2 או מאוחר יותר באמצעות Windows / config.h.
- נוסף תרגום ויאטנמית.
מה חדש בגירסה 5.0.6:
- liblzma: תוקן את השימוש בהגדרות קבועות מראש באתחול קידוד משורשר.
- xz - block-list ו - block-size ניתן כעת להשתמש יחד במצב הליכי משנה בודדים. בעבר השילוב רק עבד במצב מרובה הליכי משנה.
- נוספה תמיכה עבור LZMA_IGNORE_CHECK ל- liblzma ועשתה אותו זמין ב- xz כ- checkore.
- אופטימיזציות מהירות liblzma:
- אתחול של LZMA1 חדש או LZMA2 מקודד כבר אופטימיזציה. (מהירות של reinitializing מקודד שהוקצה כבר לא מושפע). זה עוזר בעת דחיסת מאגרים קטנים רבים עם lzma_stream_buffer_encode () ומצבים דומים אחרים שבהם המדינה מקודדים כבר מוקצה לא בשימוש חוזר. מהירות זו נראית גם ב- xz, אם אחד דוחס קבצים קטנים רבים אחד בכל פעם במקום לרוץ xz פעם אחת ולתת את כל הקבצים כמו ארגומנטים שורת הפקודה.
- השוואות המאגר הן עכשיו הרבה יותר מהר כאשר גישה לא מסודרת מותרת (מוגדרת עם גישה - unaligned-). זה מאיץ קידוד משמעותי. יש קוד ספציפי לקשת עבור 32 סיביות ו- 64 סיביות x86 (32 סיביות צרכים SSE2 לקבלת התוצאות הטובות ביותר ואין זיהוי זמן ריצה CPU לעת עתה). עבור קשתות אחרות יש רק קוד כללי אשר כנראה לא אופטימלי כמו פתרונות ספציפיים קשת יכול להיות.
- נעשו כמה אופטימיזציות מהירות לקוד SHA-256. (שים לב שהקוד המובנה SHA-256 אינו בשימוש בכל מערכות ההפעלה.)
- liblzma יכול כעת להיבנות עם MSVC 2013 עדכון 2 או מאוחר יותר באמצעות Windows / config.h.
- נוסף תרגום ויאטנמית.
תגובות לא נמצא