XZ Utils

Screenshot Software:
XZ Utils
Szczegóły programowe:
Wersja: 5.2.4 Aktualizowane
Filmu: 22 Jun 18
Wywoływacz: Lasse Collin & Co
Licencja: Wolny
Popularność: 98

Rating: 3.5/5 (Total Votes: 2)

XZ Utils (xz-utils lub po prostu xz) to projekt open source i całkowicie darmowy program, który udostępnia wszystkie niezbędne narzędzia do pracy z paczkami XZ w dowolnym systemie operacyjnym GNU / Linux. Pozwala wyodrębnić archiwa kończące się rozszerzeniami plików .xz lub .lzma, a także kompresować pliki i foldery metodą kompresji XZ, co skutkuje archiwami .xz, .lzma, tar.xz lub tar.lzma.


Jeden z najpotężniejszych algorytmów kompresji

XZ jest bez wątpienia jednym z najsilniejszych algorytmów kompresji na świecie i działa na systemach GNU / Linux. Jest w stanie tworzyć archiwa, które są dwa lub trzy razy mniejsze niż inne popularne metody kompresji, takie jak RAR, ZIP, GZ lub BZ2. Mówiąc dokładniej, archiwa XZ są o 15% mniejsze niż w archiwach BZip2 i o 30% mniejsze niż pliki gzip.


Co & nsquo; w pudełku?

XZ Utils lub xz-utils lub xz to oficjalna nazwa pakietu, którą można łatwo zainstalować na wielu systemach operacyjnych GNU / Linux z domyślnych repozytoriów oprogramowania. Składa się z biblioteki kompresji liblzma, narzędzia wiersza polecenia xz oraz narzędzia do dekompresji xzdec.

Ponadto zawiera zestaw skryptów powłoki, w tym xzgrep, xzegrep, xzfgrep, xzless, xzmore, xzcat, xzcmp i xzdiff, które pozwalają przeglądać, porównywać i przeglądać archiwa XZ, a także niezbędne komponenty do obsługi archiwów LZMA, które są teraz przestarzałe przez XZ. Polecenie XZ zawiera kilka ważnych opcji, w tym możliwość wymuszenia dekompresji i kompresji.


Obsługiwane platformy

Oprogramowanie do kompresji danych XZ jest oficjalnie obsługiwane na systemach GNU / Linux, GNU / HURD, BSD (FreeBSD, OpenBSD, NetBSD, Dragonfly BSD i MirBSD), MINIX, Solaris, IRIX, AIX, QNX, Mac OS X, Haiku , HP-UX, Tru64, OpenVMS, OpenVOS, IBM OS / 2, DOS (FreeDOS i MS-DOS), a także Microsoft Windows 95 i nowsze.

Co nowego w tej wersji:

  • liblzma:
  • Zezwalaj na 0 jako limit wykorzystania pamięci zamiast zwracać LZMA_PROG_ERROR. Teraz 0 jest traktowane tak, jakby podano 1 bajt, który faktycznie jest taki sam jak 0.
  • Użyj "noexcept" słowo kluczowe zamiast "throw ()" w publicznych nagłówkach, gdy używany jest kompilator C ++ 11 (lub nowszy standard).
  • Dodano poprawkę przenośności dla najnowszych kompilatorów Intel C.
  • Pliki kompilacji Microsoft Visual Studio zostały przeniesione w systemach Windows / vs2013 i Windows / vs2017.
  • xz:
  • Napraw "xz --list --robot missing_or_bad_file.xz & quot; który spróbuje wydrukować zestandaryzowany ciąg, a tym samym wygenerować wyjście śmieci. Ponieważ status wyjścia jest niezerowy, większość zastosowań takiego polecenia nie będzie próbowało interpretować wyjścia śmieci.
  • "xz --list foo.xz & quot; może wydrukować komunikat "Błąd wewnętrzny (błąd)" w narożnym przypadku, w którym został ustawiony określony limit wykorzystania pamięci.

Co nowego w wersji:

  • xz:
  • Zawsze zamykaj plik przed próbą jego usunięcia, aby uniknąć problemów w niektórych kombinacjach systemu operacyjnego i systemu plików.
  • Naprawiono kopiowanie sygnatur czasowych plików w systemie Windows.
  • Dodano obsługę eksperymentalną (domyślnie wyłączona) piaskownicy przy użyciu Capsicum (FreeBSD> 10). Zobacz --enable-sandbox w INSTALL.
  • Poprawki zgodności C99 / C11 z liblzma. Problemy dotyczyły najmniejszych kompilacji za pomocą optymalizacji czasu łącza.
  • Naprawiono błędy w rzadko używanej funkcji lzma_index_dup ().
  • Używanie zewnętrznego kodu SHA-256 jest teraz domyślnie wyłączone. Można go włączyć, przekazując --enable-external-sha256 do skonfigurowania. Powody, dla których domyślnie należy je wyłączyć (więcej informacji w opisie INSTALL) ...
  • Niektóre implementacje SHA-256 specyficzne dla systemu operacyjnego są w konflikcie z OpenSSL i powodują problemy w programach, które łączą się zarówno z bibliotekami liblzma, jak i libcrypto. Dotyczy to przynajmniej FreeBSD 10 i MINIX 3.3.0.
  • Wewnętrzny SHA-256 jest szybszy niż kod SHA-256 w niektórych systemach operacyjnych.
  • Zmiana wykrywania liczby rdzenia procesora w celu użycia sched_getaffinity () w systemach GNU / Linux i GNU / kFreeBSD.
  • Poprawki do systemu-build i xz, aby zbudować xz, nawet jeśli kodery, dekodery lub wątki zostały wyłączone z libilzma za pomocą opcji configure. Te poprawki dodały dwa nowe #defines do config.h: HAVE_ENCODERS i HAVE_DECODERS.

Co nowego w wersji 5.2.2:

  • Naprawiono błędy w kodzie specyficznym dla QNX.
  • Pominięto użycie metody pipe2 (), nawet jeśli jest ona dostępna, aby uniknąć problemów z przenośnością w przypadku niektórych starych kombinacji systemów Linux i glibc.
  • Zaktualizowane tłumaczenie niemieckie.
  • Dodano pliki projektu, aby zbudować statyczną i współużytkowaną bibliotekę liblzma (nie całe XZ Utils) z Visual Studio 2013, aktualizacja 2 lub nowsza.
  • Udokumentowano, że dekompresja wątków nie została jeszcze zaimplementowana. Wpis 5.2.0 NEWS opisujący obsługę wielowątkowości błędnie powiedział "dekompresję". kiedy powinien powiedzieć "kompresja".

Co nowego w wersji 5.2.1:

  • Naprawiono regresję współczynnika kompresji w trybie szybkim LZMA1 i LZMA2. Błąd występuje w wersjach 5.1.4beta i 5.2.0.
  • Naprawiono problem przenośności w Xz, który miał wpływ przynajmniej na OpenBSD.
  • Naprawiono xzdiff, aby był kompatybilny z mktemp FreeBSD, który różni się od większości innych implementacji mktemp.
  • Zmiana wykrywania liczby rdzeni procesora w celu użycia cpuset_getaffinity () w FreeBSD.

Co nowego w wersji 5.2.0:

  • Wszystkie poprawki od wersji 5.0.8
  • liblzma: Naprawiono lzma_stream_encoder_mt_memusage (), gdy używane było ustawienie wstępne.
  • xzdiff: jeśli mktemp nie jest zainstalowany, mkdir będzie użyty jako element zastępczy do utworzenia katalogu tymczasowego. Instalowanie mktemp jest nadal zalecane.
  • Zaktualizowano tłumaczenia francuskie, niemieckie, włoskie, polskie i wietnamskie.

Co nowego w wersji 5.0.7:

  • Wszystkie poprawki od 5.0.6
  • liblzma: Naprawiono użycie wstępnych ustawień w inicjacji enkodera z gwintem.
  • xz --block-list i --block-size mogą teraz być używane razem w trybie jednowątkowym. Poprzednio kombinacja działała tylko w trybie wielowątkowym.
  • Dodano obsługę LZMA_IGNORE_CHECK do biblioteki liblzma i udostępniono ją w xz jako --ignore-check.
  • Optymalizacja prędkości liblzma:
  • Inicjalizacja nowego kodera LZMA1 lub LZMA2 została zoptymalizowana. (Nie ma to wpływu na szybkość ponownego inicjowania już przydzielonego kodera). Pomaga to w skompresowaniu wielu małych buforów za pomocą lzma_stream_buffer_encode () i innych podobnych sytuacji, w których już przydzielony stan kodera nie jest ponownie wykorzystywany. To przyspieszenie jest widoczne również w Xz, jeśli jeden kompresuje wiele małych plików, zamiast tego, uruchamiając xz jeden raz i podając wszystkie pliki jako argumenty linii poleceń.
  • Porównywanie buforów jest teraz znacznie szybsze, gdy dozwolony dostęp jest niedozwolony (skonfigurowany z opcją --enable-unaligned-access). Przyspiesza to znacząco kodowanie. Jest kod specyficzny dla archa dla 32-bitowego i 64-bitowego x86 (32-bitowy SSE2 wymaga najlepszych wyników i na razie nie ma wykrycia CPU w czasie pracy). W przypadku innych łuków istnieje tylko ogólny kod, który prawdopodobnie nie jest tak optymalny, jak mogą być rozwiązania specyficzne dla architektury łukowej.
  • Dokonano kilku optymalizacji prędkości w kodzie SHA-256. (Zwróć uwagę, że wbudowany kod SHA-256 nie jest używany we wszystkich systemach operacyjnych.)
  • liblzma może teraz zostać zbudowana z MSVC 2013 aktualizacja 2 lub nowsza przy użyciu windows / config.h.
  • Dodano tłumaczenie wietnamskie.

Co nowego w wersji 5.0.6:

  • liblzma: Naprawiono użycie wstępnych ustawień w inicjacji enkodera gwintowanego.
  • xz --block-list i --block-size mogą teraz być używane razem w trybie jednowątkowym. Poprzednio kombinacja działała tylko w trybie wielowątkowym.
  • Dodano obsługę LZMA_IGNORE_CHECK do biblioteki liblzma i udostępniono ją w xz jako --ignore-check.
  • Optymalizacja prędkości liblzma:
  • Inicjalizacja nowego kodera LZMA1 lub LZMA2 została zoptymalizowana. (Nie ma to wpływu na szybkość ponownego inicjowania już przydzielonego kodera). Pomaga to w skompresowaniu wielu małych buforów za pomocą lzma_stream_buffer_encode () i innych podobnych sytuacji, w których już przydzielony stan kodera nie jest ponownie wykorzystywany. To przyspieszenie jest widoczne również w Xz, jeśli jeden kompresuje wiele małych plików, zamiast tego, uruchamiając xz jeden raz i podając wszystkie pliki jako argumenty linii poleceń.
  • Porównywanie buforów jest teraz znacznie szybsze, gdy dozwolony dostęp jest niedozwolony (skonfigurowany z opcją --enable-unaligned-access). Przyspiesza to znacząco kodowanie. Jest kod specyficzny dla archa dla 32-bitowego i 64-bitowego x86 (32-bitowy SSE2 wymaga najlepszych wyników i na razie nie ma wykrycia CPU w czasie pracy). W przypadku innych łuków istnieje tylko ogólny kod, który prawdopodobnie nie jest tak optymalny, jak mogą być rozwiązania specyficzne dla architektury łukowej.
  • Dokonano kilku optymalizacji prędkości w kodzie SHA-256. (Zwróć uwagę, że wbudowany kod SHA-256 nie jest używany we wszystkich systemach operacyjnych.)
  • liblzma może teraz zostać zbudowana z MSVC 2013 aktualizacja 2 lub nowsza przy użyciu windows / config.h.
  • Dodano tłumaczenie wietnamskie.

Podobne oprogramowanie

File Roller
File Roller

16 Aug 18

PeaZip Portable
PeaZip Portable

12 May 15

pyunpack
pyunpack

14 Apr 15

Komentarze do XZ Utils

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!