This tutorial intends to teach you to Install Brotli Compression on Ubuntu 20.04.
Brotli is an open-source, lossless compression algorithm introduced by Google in 2015.
Brotli is built using a modern version of the LZ77 algorithm, Huffman coding, and 2nd-order context modeling.
The algorithm utilizes a dictionary already built into users’ browsers that consists of almost 100,000 commonly used phrases and word fragments on the web. Due to this, it is possible to reduce the size of the files being processed.
Steps To Install Brotli Compression on Ubuntu 20.04
To complete this guide, you must log in to your server as a non-root user with sudo privileges. To do this, you can follow our guide the Initial Server Setup with Ubuntu 20.04.
In this guide, you will learn to install Brotli from the source.
Install Brotli From Source on Ubuntu 20.04
First, you need to update your local package index with the command below:
sudo apt update
Install Required packages
Then, install the required packages and dependencies with the command below:
sudo apt install -y wget gcc make bc sed autoconf automake libtool git tree
Clone Brotli Repo From GitHub
At this point, you need to clone the Brotli repository from GitHub on Ubuntu 20.04 with the following command:
sudo git clone https://github.com/google/brotli.git
Switch to your Brotli directory:
cd brotli
Create a Manual Page for Brotli
Next, create a manual page for the Brotli command:
sudo cp ~/brotli/docs/brotli.1 /usr/share/man/man1 && sudo gzip /usr/share/man/man1/brotli.1
Generate Autotools Configure File
To generate the Autotools configure file, run the following command:
./bootstrap
Now you have access to the usual C program build steps: configure
, make
and make install
available.
Build and Install Brotli
At this point, you can build and install Brotli on Ubuntu 20.04 with the following commands:
# ./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
When you are finished, you can verify your Brotli installation on Ubuntu 20.04 by checking its version:
brotli --version
Also, you can use the following command to get more help about the brotli command:
brotli -h
Output
Usage: brotli [OPTION]... [FILE]...
Options:
-# compression level (0-9)
-c, --stdout write on standard output
-d, --decompress decompress
-f, --force force output file overwrite
-h, --help display this help and exit
-j, --rm remove source file(s)
-k, --keep keep source file(s) (default)
-n, --no-copy-stat do not copy source file(s) attributes
-o FILE, --output=FILE output file (only if 1 input file)
-q NUM, --quality=NUM compression level (0-11)
-t, --test test compressed file integrity
-v, --verbose verbose mode
-w NUM, --lgwin=NUM set LZ77 window size (0, 10-24)
window size = 2**NUM - 16
0 lets compressor choose the optimal value
--large_window=NUM use incompatible large-window brotli
bitstream with window size (0, 10-30)
WARNING: this format is not compatible
with brotli RFC 7932 and may not be
decodable with regular brotli decoders
-D FILE, --dictionary=FILE use FILE as raw (LZ77) dictionary
-S SUF, --suffix=SUF output file suffix (default:'.br')
-V, --version display version and exit
-Z, --best use best compression level (11) (default)
Simple options could be coalesced, i.e. '-9kf' is equivalent to '-9 -k -f'.
With no FILE, or when FILE is -, read standard input.
All arguments after '--' are treated as files.
Conclusion
Data compression is a necessary component of developing and using the modern web. File sizes can skyrocket due to the rich and complex file types you’ll use to piece together a website. All of them need some form of compression.
Brotli compression bases its technology on the same foundation as GZIP but includes some performance-enhancing benefits.
At this point, you have learned to Install Brotli Compression on Ubuntu 20.04.
Hope you enjoy it.
You may be interested in these articles: