W następnym artykule przyjrzymy się pigzowi. To jest wielowątkowa implementacja gzip, która pozwoli nam kompresować pliki w bardzo krótkim czasie. To narzędzie oferuje nam jeszcze jedną opcję kompresji, ponieważ nawet jedno z najszybszych dostępnych rozwiązań do archiwizacji / kompresji, takie jak gzip, ma mały problem, a mianowicie, że nie obsługuje wielu procesorów / rdzeni. Oznacza to, że jeśli mamy stosunkowo nowy komputer, to nie wykorzysta on wszystkich swoich możliwości.
Pigz, co oznacza równoległą implementację gzip, to w pełni funkcjonalny zamiennik gzip, który wykorzystuje wiele procesorów i wiele rdzeni podczas kompresji danych. Pigz został napisany przez Marka Adlera i korzysta z bibliotek zlib i pthread.
Pigz kompresuje przy użyciu wątków, aby wykorzystać wiele procesorów i rdzeni. Każdy jest podzielony na części 128 KB. Każdy z nich i indywidualna wartość kontrolna dla każdego wycinka są obliczane równolegle. Skompresowane dane są zapisywane w kolejności wyjściowej, a połączona wartość kontrolna jest obliczana z poszczególnych wartości kontrolnych.
Instalacja Pigz na Ubuntu
do zainstaluj pigz na Ubuntu, Mint i innych dystrybucjach kompatybilnych z Debianem, będziemy musieli tylko otworzyć terminal (Ctrl + Alt + T) i użyć polecenia:
sudo apt install pigz
Podstawowe zastosowanie pigz
Skompresuj pojedynczy plik
do skompresuj dowolny plik do formatu Kod pocztowy GNU z pigz, będziemy musieli go używać tylko w następujący sposób:
pigz NOMBRE_DEL_ARCHIVO
Dla niektórych może to być problem domyślnie pigz usuwa oryginalny plik po kompresji. Jeśli chcesz to zatrzymać, musisz użyj przełącznika -k następująco:
pigz -k NOMBRE_DEL_ARCHIVO
Pigz obsługuje wiele poziomów kompresji, a to pozwoli nam wybrać między nimi, wskazując ich liczbę po myślniku. Przykładem może być:
pigz -9 -k NOMBRE_DEL_ARCHIVO
Możemy użyć liczb od 1 do 9. Przy wartości „1” uzyskamy wyższą wydajność, ale przy najniższej kompresji i przy „9” uzyskamy najwolniejszą, ale najwyższą kompresję.
Kompresuj foldery
Pigz ma istotne ograniczenie, polegające na tym, że nie obsługuje folderów. Będziemy mogli kompresować tylko pliki indywidualnie. Chociaż możemy znaleźć alternatywne rozwiązanie, jakim jest używanie go razem z smoła.
Gdybyśmy chcieli skompresować folder ”Fundusze', a ponieważ tar obsługuje korzystanie z zewnętrznych programów do kompresji, moglibyśmy zrobić coś takiego:
tar --use-compress-program="pigz -k -9" -cf Fondos.tar.gz Fondos/
W powyższym poleceniu tar –użyj-kompresuj-program stwierdza, że Chociaż utworzy plik z tar, kompresja jego zawartości zostanie wykonana przez zewnętrzny program, w tym przypadku pigz. Ten program zewnętrzny i jego parametry są definiowane w artykule świnia -k -9 polecenia. Na koniec wskażemy, że chcemy utworzyć plik za pomocą '-por', nazywa'Tła.tar.gz„ze wszystkim w folderze”Pieniądze/".
Rozpakuj pliki i foldery
Rozpakuj dowolny plik .gz za pomocą pigz wystarczy wpisać dowolne z następujących poleceń:
pigz -d NOMBRE_DEL_ARCHIVO.gz unpigz NOMBRE_DEL_ARCHIVO.gz
We wcześniej utworzonym pliku z folderem z rozszerzeniem tar.gz, dekompresja folderu stosuje to samo podejście ”smoła'którego używamy do kompresji:
tar --use-compress-program="pigz -d" -xvf NOMBRE_CARPETA.tar.gz
Ograniczenie równoległości
Pigz domyślnie używa wszystkich procesorów / rdzeni komputera. Podczas kompresji dużych zestawów danych może to wpływać na szybkość reakcji komputera.
Dzięki opcji p możemy ograniczyć użycie do określonej liczby procesorów / rdzeni. Pozostawi to resztę wolną na inne zadania i interaktywność. Aby to zrobić, wystarczy dodać liczbę procesorów / rdzeni w następujący sposób:
pigz -k -p2 NOMBRE_DEL_ARCHIVO
-p2 ogranicza pigz do używania tylko dwóch procesorów / rdzeni. Możemy użyć dowolnej liczby, a nawet jeśli jest to oczywiste, ważne jest, aby utrzymać tę liczbę w granicach naszego sprzętu.
Aby uzyskać więcej informacji, użytkownicy mogą spójrz na plik README lub przeczytaj stronę instrukcja obsługi przez pigz.