Brotliは、LZ77アルゴリズムの最新のバリアント、ハフマンコーディング、および2次コンテキストモデリングの組み合わせを使用してデータを圧縮する汎用ロスレス圧縮アルゴリズムであり、圧縮率は現在利用可能な最高の汎用圧縮方法に匹敵します。速度はデフレートと似ていますが、より高密度の圧縮を提供します。それはMITライセンスの下でオープンソースです。そのソースコードはGithubで閲覧できます。 Brotli Compressed Data Formatの仕様は、RFC 7932で定義されています。このチュートリアルでは、CentOS7システムのソースからBrotli圧縮ライブラリをコンパイルする方法を示します。
- CentOS7システム。
- sudoアクセス権を持つroot以外のユーザー。
CentOSのバージョンを確認します:
cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)
タイムゾーンを設定します:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
オペレーティングシステムパッケージを更新します:
sudo yum update -y
Brotliのビルドに必要なビルドツールとパッケージをインストールします:
sudo yum install -y wget gcc make bc sed autoconf automake libtool git 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/lib64/brotli \
--libdir=/usr/lib64/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