Vyhledávání na webu

Jak rychleji komprimovat soubory pomocí nástroje Pigz v Linuxu


Napsal Mark Adler, Pigz je zkratka pro Parallel Implementation of GZip. Je to šikovný nástroj pro kompresi, který vám pomůže komprimovat soubory s bleskovou rychlostí. Jako vylepšení starého dobrého nástroje gzip využívá ke kompresi dat více jader a procesorů.

Tato příručka osvětluje Pigz a provede vás pomocí nástroje ke kompresi souborů v systémech Linux.

Instalace Pigz na systémy Linux

Instalace Pigz je procházka růžovým sadem, protože balíček Pigz je obsažen v oficiálních repozitářích hlavních distribucí, jako jsou Debian a CentOS .

Pigz můžete nainstalovat jedním příkazem v různých distribucích pomocí jejich příslušných správců balíčků následovně.

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 komprimovat soubory pomocí Pigz

Chcete-li komprimovat jeden soubor do formátu zip, použijte syntaxi.

pigz filename

V této příručce použijeme pro demonstrační účely soubor ubuntu-20.04-beta-desktop-amd64.iso. Chcete-li komprimovat soubor, proveďte:

pigz ubuntu-20.04-beta-desktop-amd64.iso

Jak jste si však mohli všimnout, příkaz po komprimaci odstraní původní soubor. Chcete-li zachovat původní soubor po kompresi, spusťte pomocí volby -k, jak je znázorněno.

pigz -k ubuntu-20.04-beta-desktop-amd64.iso

Z výstupu jasně vidíme, že původní soubor zůstal zachován i po kompresi.

Zkontrolujte obsah komprimovaného souboru v Linuxu

Chcete-li zkontrolovat obsah komprimovaného souboru, včetně statistik o dosaženém kompresním poměru, použijte volbu -l s příkazem pigz:

pigz -l ubuntu-20.04-beta-desktop-amd64.iso.gz

Z výstupu uvidíte nejen obsah zazipovaného souboru, ale také procento komprese, které je v tomto případě 1,9 %.

Kromě toho můžete použít různé úrovně komprese, které existují od 1 do 9. Jsou podporovány následující úrovně komprese:

  • 6 – Výchozí komprese.
  • 1 – Nejrychlejší, ale nabízí nejmenší kompresi.
  • 9 – Nejpomalejší, ale nejlepší komprese.
  • 0 – Bez komprese.

Chcete-li například komprimovat soubor s nejlepší úrovní komprese, proveďte:

pigz -9 ubuntu-20.04-beta-desktop-amd64.iso

Jak komprimovat adresář pomocí Pigz

Pigz sám o sobě nemá možnosti komprimovat složku, komprimuje pouze jednotlivé soubory. Jako řešení se pigz používá ve spojení s příkazem tar pro adresáře zip.

Chcete-li komprimovat adresář, použijte argument --use-compress-program, jak je znázorněno:

tar --use-compress-program="pigz -k " -cf dir1.tar.gz dir1

Jak omezit počet procesorů při kompresi

Již dříve jsme zmínili, že nástroj pigz používá při komprimaci souborů více jader a procesorů. Počet jader, která se mají použít, můžete určit pomocí volby -p.

V tomto příkladu níže jsme použili nejlepší kompresi (označenou -9) se 4 procesory (-p4) při zachování původního soubor (-k).

pigz -9 -k -p4 ubuntu-20.04-beta-desktop-amd64.iso

Jak dekomprimovat soubory pomocí Pigz

Chcete-li dekomprimovat soubor nebo adresář pomocí pigz, použijte volbu -d nebo příkaz unpigz.

Pomocí našeho komprimovaného souboru ISO bude příkaz:

pigz -d ubuntu-20.04-beta-desktop-amd64.iso
OR
unpigz dir1.tar.gz

Srovnání mezi Pigz vs Gzip

Šli jsme o něco dále a postavili Pigz proti nástroji Gzip.

Zde jsou výsledky:

Komprese Gzip

time gzip ubuntu-20.04-beta-desktop-amd64.iso

Pigz komprese

time pigz ubuntu-20.04-beta-desktop-amd64.iso

Gzip dekomprese

time gzip -d ubuntu-20.04-beta-desktop-amd64.iso.gz

Pigz dekomprese

time unpigz ubuntu-20.04-beta-desktop-amd64.iso.gz

Z porovnání jasně vidíme, že časy komprese a dekomprese pro Pigz jsou mnohem kratší než pro Gzip. To znamená, že nástroj příkazového řádku Pigz je mnohem rychlejší než nástroj Gzip

Pro více podrobností o použití příkazu pigz navštivte manuálové stránky.

man pigz

Dále spusťte níže uvedený příkaz a zobrazte všechny možnosti dostupné pro použití s příkazem pigz.

pigz --help

A tady to máte. Probrali jsme nástroj příkazového řádku pigz a ukázali jsme vám, jak můžete komprimovat a dekomprimovat soubory. Šli jsme dále a porovnali Pigz s Gzip a zjistili jsme, že Pigz je z těchto dvou lepší, pokud jde o rychlost komprese i dekomprese. Zveme vás, abyste to zkusili a řekněte nám, jak to šlo.