Linux の Pigz ツールを使用してファイルを高速に圧縮する方法
マーク・ アドラーによって書かれたピグズはGZipの並列実装の頭字語です。これは、ファイルを驚異的な速度で圧縮できる気の利いた圧縮ツールです。古き良き gzip ユーティリティを改良したもので、複数のコアとプロセッサを利用してデータを圧縮します。
このガイドでは、Pigz にさらに光を当て、このユーティリティを使用して Linux システムでファイルを圧縮する方法を説明します。
Linux システムへの Pigz のインストール
Pigz パッケージは、Debian や CentOS などの主要なディストリビューションの公式リポジトリに含まれているため、Pigz のインストールは簡単です。 です。
次のように、それぞれのパッケージ マネージャーを使用して、さまざまなディストリビューションに 1 つのコマンドで Pigz をインストールできます。
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
Pigz でファイルを圧縮する方法
単一のファイルを zip 形式に圧縮するには、次の構文を使用します。
pigz filename
このガイドでは、デモの目的でファイルubuntu-20.04-beta-desktop-amd64.isoを使用します。ファイルを圧縮するには、次のコマンドを実行します。
pigz ubuntu-20.04-beta-desktop-amd64.iso
ただし、お気づきかと思いますが、このコマンドは圧縮時に元のファイルを削除します。圧縮後に元のファイルを保持するには、次のように -k
オプションを使用して実行します。
pigz -k ubuntu-20.04-beta-desktop-amd64.iso
出力から、圧縮後も元のファイルが保持されていることが明確にわかります。
Linuxで圧縮ファイルの内容を確認する
達成された圧縮率の統計を含む圧縮ファイルの内容を確認するには、pigz コマンドで -l
オプションを使用します。
pigz -l ubuntu-20.04-beta-desktop-amd64.iso.gz
出力からは、zip ファイルの内容だけでなく、圧縮率 (この場合は1.9%) も確認できます。
さらに、1 から 9 までのさまざまな圧縮レベルを使用できます。次の圧縮レベルがサポートされています。
- 6 – デフォルトの圧縮。
- 1 – 最速ですが、圧縮は最も低くなります。
- 9 – 最も遅いですが、最良の圧縮です。
- 0 – 圧縮なし。
たとえば、最適な圧縮レベルでファイルを圧縮するには、次のコマンドを実行します。
pigz -9 ubuntu-20.04-beta-desktop-amd64.iso
Pigz を使用してディレクトリを圧縮する方法
Pigz 自体にはフォルダーを圧縮するオプションはなく、単一のファイルのみを圧縮します。回避策として、pigg を tar コマンドと組み合わせて使用して、ディレクトリを圧縮します。
ディレクトリを圧縮するには、次のように --use-compress-program
引数を使用します。
tar --use-compress-program="pigz -k " -cf dir1.tar.gz dir1
圧縮中にプロセッサの数を制限する方法
pigz ユーティリティ ツールはファイルの圧縮時に複数のコアとプロセッサを使用すると前述しました。 -p
オプションを使用して、使用するコアの数を指定できます。
以下のこの例では、元の圧縮を保持しながら、4 個のプロセッサ (-p4)
で最適な圧縮 (-9
で示されます) を使用しています。ファイル(-k)。
pigz -9 -k -p4 ubuntu-20.04-beta-desktop-amd64.iso
Pigz を使用してファイルを解凍する方法
pigz を使用してファイルまたはディレクトリを解凍するには、-d
オプションまたは unpigz コマンドを使用します。
圧縮 ISO ファイルを使用すると、コマンドは次のようになります。
pigz -d ubuntu-20.04-beta-desktop-amd64.iso
OR
unpigz dir1.tar.gz
Pigz と Gzip の比較
私たちはもう少し進んで、Pigz をGzip ツールと対戦させました。
結果は次のとおりです。
Gzip圧縮
time gzip ubuntu-20.04-beta-desktop-amd64.iso
豚の圧縮
time pigz ubuntu-20.04-beta-desktop-amd64.iso
Gzip解凍
time gzip -d ubuntu-20.04-beta-desktop-amd64.iso.gz
豚の解凍
time unpigz ubuntu-20.04-beta-desktop-amd64.iso.gz
比較すると、Pigz の圧縮と解凍にかかる時間がGzip よりもはるかに短いことがわかります。これは、Pigz コマンド ライン ツールが Gzip ツールよりもはるかに高速であることを意味します。
pigz コマンドの使用方法の詳細については、マニュアル ページを参照してください。
man pigz
さらに、以下のコマンドを実行して、pigz コマンドで使用できるすべてのオプションを表示します。
pigz --help
そして、それができました。 pigz コマンドライン ツールについて説明し、ファイルを圧縮および解凍する方法を説明しました。さらに進んで Pigz と Gzip を比較したところ、圧縮と解凍の両方の速度の点で Pigz の方が優れていることがわかりました。ぜひ試してみて、どうだったか教えてください。