Brotliは、LZ77アルゴリズムの最新のバリアント、ハフマンコーディング、および2次コンテキストモデリングの組み合わせを使用してデータを圧縮する汎用ロスレス圧縮アルゴリズムであり、圧縮率は現在利用可能な最高の汎用圧縮方法に匹敵します。収縮する速度は似ていますが、より高密度の圧縮を提供します。それはMITライセンスの下でオープンソースです。そのソースコードはGithubで閲覧できます。 Brotli Compressed Data Formatの仕様は、RFC7932で定義されています。
このチュートリアルでは、Debian 9(ストレッチ)のソースからBrotli圧縮ライブラリとプログラムをコンパイルする方法を示します。
- Debian9システム。
- sudoアクセス権を持つroot以外のユーザー。
Debianバージョンを確認してください。
lsb_release -ds
# Debian GNU/Linux 9.6 (stretch)
タイムゾーンを設定します。
sudo dpkg-reconfigure tzdata
オペレーティングシステムパッケージを更新します。
sudo apt update && sudo apt upgrade -y
ビルドツールと必要なパッケージをインストールします。
sudo apt install -y build-essential gcc make bc sed autoconf automake libtool git apt-transport-https tree
Brotliリポジトリのクローンを作成します。
git clone https://github.com/google/brotli.git
Brotliソースツリーディレクトリに移動します。
cd brotli
Brotliコマンドのマニュアルページを作成します。
sudo cp ~/brotli/docs/brotli.1 /usr/share/man/man1 && sudo gzip /usr/share/man/man1/brotli.1
マニュアルページを確認してください。
man brotli
Autotoolsを生成するにはconfigure
ファイル実行./bootstrap
最初にコマンドを実行します。
./bootstrap
上記のコマンドを実行すると、通常のCプログラムのビルド手順にアクセスできるようになります。configure
、make
およびmake install
利用可能です。
ヘルプが必要な場合は、./configure --help
を実行できます。 指図。これで、次の手順でBrotliをビルドする準備が整いました。
brotliをビルドしてインストールするための基本的なコマンドは次のとおりです。
./configure --prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib/brotli \
--libdir=/usr/lib/brotli \
--datarootdir=/usr/share \
--mandir=/usr/share/man/man1 \
--docdir=/usr/share/doc
make
sudo make install
ビルドプロセスが成功したら、Brotliのバージョンを確認できます。
brotli --version
# brotli 1.0.7
brotliコマンドに関するヘルプを表示するには、次のコマンドを実行できます:
brotli -h
- https://brotli.org/
- https://github.com/google/brotli
- https://en.wikipedia.org/wiki/Brotli