超高速ファイル圧縮のために Linux に LZ4 をインストールする方法
1 min read

超高速ファイル圧縮のために Linux に LZ4 をインストールする方法

LZ4 非常に高速なロスレス圧縮アルゴリズムであり、非常に高速な圧縮と解凍(圧縮速度は 500 MB/秒 適切な圧縮率で、CPU コアあたり 10 ギガバイトの大容量データを処理します。

そのため、データ転送、リアルタイム処理、ネットワーク転送、カーネルの解凍、ストレージの最適化など、高速圧縮を必要とするアプリケーションに最適です。

一部の その他の圧縮アルゴリズム、 LZ4 また、解凍速度が非常に速く、マルチコア システムの RAM 速度の限界に達することもよくあります。

この記事ではインストールと使用方法について説明します LZ4 Linux システム上での実用的な例。

Linux に LZ4 をインストールする

最も簡単なインストール方法 LZ4 Linux ディストリビューションのリポジトリで利用可能なビルド済みパッケージを使用することです。

sudo apt install lz4         [On Debian, Ubuntu and Mint]
sudo yum install lz4         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/lz4  [On Gentoo Linux]
sudo apk add lz4             [On Alpine Linux]
sudo pacman -S lz4           [On Arch Linux]
sudo zypper install lz4      [On OpenSUSE]    
sudo pkg install lz4         [On FreeBSD]

 

構築したい場合は LZ4 ソースから、ディストリビューションがコンパイル済みパッケージを提供していない、または最新バージョンの LZ4次のコマンドを使用して、リポジトリをクローンし、ライブラリとツールをビルドできます。

git clone https://github.com/lz4/lz4.git
cd lz4
make
sudo make install

LZ4 を使用したファイルの圧縮と解凍

LZ4 次の実際の例に示すように、ファイルの圧縮と解凍に使用できるコマンドライン ツールを提供します。

ファイルを圧縮するには LZ4次のコマンドを使用します。

lz4 tecmint.txt tecmint_file.lz4

圧縮されたファイルを解凍するには LZ4、 使用:

lz4 -d tecmint_file.lz4 decompressed_tecmint.txt
LZ4 ファイルの圧縮と解凍
LZ4 ファイルの圧縮と解凍

LZ4 を使用してディレクトリを圧縮および解凍する

LZ4 ディレクトリの圧縮を直接サポートしていませんが、 tar コマンド と併せて LZ4 これを達成するために。

ディレクトリを圧縮するには LZ4次のコマンドを使用します。

tar cf - tecmint | lz4 - compressed_tecmint.tar.lz4

ディレクトリを解凍するには LZ4次のコマンドを使用します。

lz4 -d compressed_tecmint.tar.lz4 | tar -xvf -
LZ4 ディレクトリの圧縮と解凍
LZ4 ディレクトリの圧縮と解凍

パイプで LZ4 を使用する

LZ4 パイプラインでデータを圧縮または解凍するために使用できます。 他のコマンドによって処理される。

大きなログ ファイルがあり、ストリーミング中にそれを圧縮したい場合。

cat large_log_file.log | lz4 - compressed_log.lz4

ファイルを解凍し、その内容をその場で処理できます。

lz4 -d compressed_log.lz4 | grep "ERROR"

LZ4 圧縮レベルの設定

LZ4 いくつかの圧縮レベルがあり、 1 (速く) 9 (高圧縮)。圧縮レベルは、 -1-9 フラグ。

たとえば、最高の圧縮レベルを使用するには、次のようにします。

lz4 -9 input_file.txt compressed_file.lz4

このコマンドは圧縮レベルを使用します 9 速度を犠牲にして圧縮率を高めます。

圧縮プロセスに関する詳細情報を取得するには、 -v フラグ。

lz4 -v input_file.txt compressed_file.lz4

最大限の圧縮を行うには、 -HC オプション。

lz4 -HC input_file.txt compressed_file.lz4

このモードは大幅に遅くなりますが、圧縮率は向上します。

アプリケーションでの LZ4 ライブラリの使用

開発者であれば、 LZ4 アプリケーションに圧縮機能を統合するためのライブラリ。

以下は、 LZ4 C API:

#include 
#include 
#include 
#include 

int main() {
    const char* input = "This is a test string to compress using LZ4.";
    int inputSize = strlen(input) + 1;
    int maxCompressedSize = LZ4_compressBound(inputSize);
    char* compressed = malloc(maxCompressedSize);

    int compressedSize = LZ4_compress_default(input, compressed, inputSize, maxCompressedSize);

    if (compressedSize > 0) {
        printf("Compression successful: %d bytes compressed to %d bytes\n", inputSize, compressedSize);
    } else {
        printf("Compression failed\n");
    }

    free(compressed);
    return 0;
}

この単純なプログラムは、 LZ4 圧縮されたサイズを出力します。

結論

LZ4 速度が重要なシナリオに適した非常に高速な圧縮アルゴリズムです。 LZ4 Linux では、パッケージ マネージャーを使用するか、ソースからビルドすることで簡単に実行できます。

この記事では、 LZ4 実例とともに、統合の簡単な例を示しました。 LZ4 応用。

この知識があれば、 LZ4 Linux システム上のさまざまなアプリケーションやワークフローで効率的なデータ圧縮を実現します。

Hope this help!

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *