Porady Admina

Porady Admina: xz-utils

Ostatnia aktualizacja: 27 czerwca 2024, 10:07

W kolejnym wpisie z cyklu Porady Admina zajmiemy się narzędziem xz-utils.

XZ Utils (wcześniej LZMA Utils) to zestaw oprogramowania do bezstratnej kompresji, który zawiera programy lzma i xz, dla systemów operacyjnych typu Unix oraz, od wersji 5.0 i nowszych, dla systemu Microsoft Windows. Do kompresji/dekompresji stosuje się algorytm łańcuchowy Lempela – Ziva – Markowa (LZMA). XZ Utils powstał jako uniksowy port pakietu LZMA-SDK Igora Pawłowa, który został dostosowany tak, aby bezproblemowo pasował do środowisk uniksowych oraz ich zwykłej struktury i zachowania.

Natywny format xz to .xz, ale może również obsługiwać inne formaty kompresji lub dekompresji plików. xz daje pełną kontrolę nad kompresją i dekompresją plików. W systemie Linux narzędzie xz jest domyślnie dostarczane z systemem, którego nie trzeba instalować.

Pakiet dostarcza narzędzia wiersza poleceń do pracy z mechanizmem kompresji XZ, włączając w to: xz, unxz, xzcat, xzgrep, itd. Potrafią one również obsługiwać starszy format LZMA oraz, jeśli zawierają właściwe dowiązania symboliczne, mogą emulować zachowanie poleceń pakietu lzma.

Format XZ jest podobny do starszego formatu LZMA, jednakże zawiera pewne ulepszenia.

Składnia

xz [opcja] [plik]

Opcje

-z, –compress : wymuszenie kompresji
-d, –decompress : wymuszenie dekompresji
-t, –test : sprawdzenie spójności plików skompresowanych
-l, –list : wypisanie informacji o plikach .xz
-k, –keep : zachowanie (nieusuwanie) plików wejściowych
-f, –force : nadpisywanie plików wyjściowych i (de)kompresja dowiązań
-c, –stdout : zapis na standardowe wyjście, nieusuwanie plików wej.
-0 … -9 : predefiniowane opcje kompresji; domyślna to 6; przed użyciem wartości 7-9 należy wziąć pod uwagę wykorzystanie pamięci przy kompresji *oraz* dekompresji!
-e, –extreme : próba poprawy współczynnika kompresji z użyciem większej ilości czasu procesora; nie wpływa na wymagania pamięciowe dekompresora
-T, –threads=ILE : użycie maksymalnie ILU wątków; domyślnie 1; 0 oznacza tyle, ile jest rdzeni procesorów
-q, –quiet : pominięcie ostrzeżeń; dwukrotne podanie pomija też błędy
-v, –verbose : więcej informacji; dwukrotne podanie to jeszcze więcej
-h, –help : wyświetlenie tego krótkiego opisu i zakończenie
-H, –long-help : wyświetlenie długiego opisu (także opcje zaawansowane)
-V, –version : wyświetlenie informacji o wersji i zakończenie

Aliasy/Skróty

unxz jest odpowiednikiem xz –decompress.
xzcat jest odpowiednikiem xz –decompress –stdout.
lzma jest odpowiednikiem xz –format=lzma.
unlzma jest odpowiednikiem xz –format=lzma –decompress.
lzcat jest odpowiednikiem xz –format=lzma –decompress –stdout

Przykłady

Zarówno zachowanie oprogramowania, jak i właściwości formatu pliku zostały zaprojektowane tak, aby działać podobnie do popularnych narzędzi do kompresji uniksowej gzip i bzip2.

Podobnie jak gzip i bzip, xz i lzma mogą kompresować tylko pojedyncze pliki (lub strumienie danych) jako dane wejściowe. Nie mogą łączyć wielu plików w jedno archiwum – w tym celu najpierw używany jest program archiwizujący, taki jak tar.

Kompresowanie pliku
xz plik1
lub
xz -z plik1

Kompresowanie archiwum tar
xz moje-archiwum.tar

Tworzenie archiwum i jego kompresja
tar -c --xz -f moje-archiwum.tar.xz katalog1

Możemy skompresować plik w formacie xz bez usuwania oryginalnego pliku, używając opcji -k
xz -k plik1

Możemy kontrolować rozmiar kompresji pliku za pomocą xz., który zapewnia opcje poziomu kompresji od 0 do 9, domyślna wartość poziomu kompresji to 6. 0 to szybki, ale mniej skompresowany plik. 9 jest wolniejszy, bardziej kompresuje plik i możemy użyć opcji –best dla poziomu 9.
xz -9 plik1

Możemy zmniejszyć zużycie pamięci za pomocą opcji –memlimit-compress
xz --memlimit-compress=10% plik1

Dekompresja archiwum
unxz moje-archiwum.tar.xz
lub
xz -d moje-archiwum.xz

Dekompresja archiwum i wyodrębnienie jego zawartości
tar -x --xz -f moje-archiwum.tar.xz

Więcej informacji o programie xz uzyskasz poleceniami:
man xz
xz --help

Click to rate this post!
[Total: 2 Average: 5]

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna jest chroniona przez reCAPTCHA i Google Politykę Prywatności oraz obowiązują Warunki Korzystania z Usługi.

Skip to content