Jak szybciej kompresować pliki za pomocą narzędzia Pigz w systemie Linux
Napisany przez Marka Adlera, Pigz jest akronimem od Parallel Implementation GZip. To sprytne narzędzie do kompresji, które pomaga kompresować pliki z niesamowitą szybkością. Jako ulepszenie starego, dobrego narzędzia gzip, wykorzystuje ono wiele rdzeni i procesorów do kompresji danych.
Ten przewodnik rzuca więcej światła na Pigz i pokazuje, jak używać narzędzia do kompresji plików w systemach Linux.
Instalowanie Pigza na systemach Linux
Instalacja Pigz to bułka z masłem, ponieważ pakiet Pigz znajduje się w oficjalnych repozytoriach głównych dystrybucji, takich jak Debian i CentOS .
Możesz zainstalować Pigz za pomocą jednego polecenia w różnych dystrybucjach, korzystając z odpowiednich menedżerów pakietów w następujący sposób.
sudo apt install pigz [On Debian/Ubuntu]
sudo dnf install pigz [On CentOS/RHEL/Fedora]
sudo pacman -S pigz [On Arch/Manjaro Linux]
OR
yay -S pigz
Jak kompresować pliki za pomocą Pigz
Aby skompresować pojedynczy plik do formatu ZIP, użyj składni.
pigz filename
W tym przewodniku do celów demonstracyjnych użyjemy pliku ubuntu-20.04-beta-desktop-amd64.iso. Aby skompresować plik, wykonaj:
pigz ubuntu-20.04-beta-desktop-amd64.iso
Jednak polecenie usuwa oryginalny plik po kompresji, jak mogłeś zauważyć. Aby zachować oryginalny plik po kompresji, uruchom go z opcją -k
, jak pokazano.
pigz -k ubuntu-20.04-beta-desktop-amd64.iso
Z danych wyjściowych wyraźnie wynika, że oryginalny plik został zachowany nawet po kompresji.
Sprawdź zawartość skompresowanego pliku w systemie Linux
Aby sprawdzić zawartość skompresowanego pliku, w tym statystyki osiągniętego stopnia kompresji, użyj opcji -l
z poleceniem pigz:
pigz -l ubuntu-20.04-beta-desktop-amd64.iso.gz
Na wyjściu widać nie tylko zawartość spakowanego pliku, ale także procent kompresji, który w tym przypadku wynosi 1,9%.
Dodatkowo możesz używać różnych poziomów kompresji od 1 do 9. Obsługiwane są następujące poziomy kompresji:
- 6 – Domyślna kompresja.
- 1 – najszybszy, ale oferujący najmniejszą kompresję.
- 9 – Najwolniejsza, ale najlepsza kompresja.
- 0 – Brak kompresji.
Na przykład, aby skompresować plik z najlepszym poziomem kompresji, wykonaj:
pigz -9 ubuntu-20.04-beta-desktop-amd64.iso
Jak skompresować katalog za pomocą Pigz
Sam Pigz nie ma opcji kompresji folderu, kompresuje tylko pojedyncze pliki. Jako obejście, pigz jest używany w połączeniu z poleceniem tar do zipowania katalogów.
Aby skompresować katalog, użyj argumentu --use-compress-program
, jak pokazano:
tar --use-compress-program="pigz -k " -cf dir1.tar.gz dir1
Jak ograniczyć liczbę procesorów podczas kompresji
Wspomnieliśmy wcześniej, że narzędzie pigz wykorzystuje wiele rdzeni i procesorów podczas kompresji plików. Możesz określić liczbę używanych rdzeni za pomocą opcji -p
.
W poniższym przykładzie zastosowaliśmy najlepszą kompresję (oznaczoną przez -9
) z 4 procesorami (-p4)
, zachowując oryginał plik (-k).
pigz -9 -k -p4 ubuntu-20.04-beta-desktop-amd64.iso
Jak dekompresować pliki za pomocą Pigz
Aby zdekompresować plik lub katalog za pomocą pigz, użyj opcji -d
lub polecenia unpigz.
Korzystając z naszego skompresowanego pliku ISO, polecenie będzie następujące:
pigz -d ubuntu-20.04-beta-desktop-amd64.iso
OR
unpigz dir1.tar.gz
Porównanie Pigz vs Gzip
Poszliśmy nieco dalej i porównaliśmy Pigz z narzędziem Gzip.
Oto wyniki:
Kompresja Gzipem
time gzip ubuntu-20.04-beta-desktop-amd64.iso
Kompresja Pigza
time pigz ubuntu-20.04-beta-desktop-amd64.iso
Dekompresja Gzipem
time gzip -d ubuntu-20.04-beta-desktop-amd64.iso.gz
Dekompresja Pigza
time unpigz ubuntu-20.04-beta-desktop-amd64.iso.gz
Z porównania wyraźnie widać, że czasy kompresji i dekompresji dla Pigz są znacznie krótsze niż dla Gzip. Oznacza to, że narzędzie wiersza poleceń Pigz jest znacznie szybsze niż narzędzie Gzip
Więcej szczegółów na temat użycia polecenia pigz znajdziesz na stronach podręcznika.
man pigz
Ponadto uruchom poniższe polecenie, aby wyświetlić wszystkie opcje dostępne dla polecenia pigz.
pigz --help
I tam to masz. Omówiliśmy narzędzie wiersza poleceń pigz i pokazaliśmy, jak kompresować i dekompresować pliki. Poszliśmy dalej i porównaliśmy Pigz z Gzip i odkryliśmy, że Pigz jest lepszy z tych dwóch pod względem szybkości zarówno kompresji, jak i dekompresji. Zachęcamy Cię do spróbowania i podzielenia się wrażeniami.