Установка и сборка Brotli на Ubuntu 18.04 LTS
TL;DR
Brotli — современный безпотерьный алгоритм сжатия, сочетающий LZ77, Хаффмана и контекстное моделирование. На Ubuntu 18.04 удобно собрать библиотеку из исходников: установить инструменты сборки, клонировать репозиторий, запустить ./bootstrap, затем ./configure, make и sudo make install. Ниже — пошаговая инструкция, краткие проверки и советы по отладке.

Brotli — универсальный алгоритм безпотерьного сжатия, который использует современный вариант LZ77, кодирование Хаффмана и модель 2-го порядка контекста. Он даёт коэффициенты сжатия, сопоставимые с лучшими универсальными методами, и по скорости близок к deflate, при этом обычно плотнее сжимает данные. Проект распространяется под лицензией MIT; спецификация формата сжатых данных описана в RFC 7932.
Требования
- Система Ubuntu 18.04 LTS.
- Нераутовый пользователь с правами sudo.
- Рекомендуется подключение к интернету для клонирования репозитория и установки зависимостей.
Первые шаги
Проверьте версию Ubuntu:
lsb_release -ds
# Ubuntu 18.04.1 LTSНастройте часовой пояс (если требуется):
sudo dpkg-reconfigure tzdataОбновите пакеты системы:
sudo apt update && sudo apt upgrade -yВажно: если система управляется централизованно (Ansible, Puppet, Chef), выполняйте эти шаги в соответствии с внутренними процедурами управления конфигурацией.
Сборка Brotli
Установите инструменты сборки и необходимые пакеты:
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Перейдите в каталог с исходниками:
cd brotliСоздайте страничку man для команды brotli (опционально):
sudo cp ~/brotli/docs/brotli.1 /usr/share/man/man1 && sudo gzip /usr/share/man/man1/brotli.1Проверьте man-страницу:
man brotliПеред генерацией скрипта configure выполните bootstrap:
./bootstrapПосле этого станут доступны стандартные шаги сборки: configure, make и make install. Для справки используйте:
./configure --helpКоманды для конфигурирования, сборки и установки 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 --version
# brotli 1.0.6Справка по команде:
brotli -hКогда собирать из исходников, а когда ставить пакет
- Собрать из исходников стоит, если нужна последняя версия, специфичные опции конфигурации или инструмент собирается в специальное место файловой системы.
- Использовать системный пакет apt проще и безопаснее для серверов с долгосрочной поддержкой, если версия пакета достаточна.
Альтернатива: установить через apt (если доступно в репозитории) — быстрее, но может быть старая версия.
Быстрый чек-лист для администратора
- Проверена версия Ubuntu.
- Установлены build-essential, autoconf, automake и libtool.
- Репозиторий успешно клонирован.
- ./bootstrap выполняется без ошибок.
- make проходит, затем sudo make install проходит без ошибок.
- brotli –version возвращает ожидаемую версию.
Методология проверки установки (мини-процесс)
- Выполнить brotli –version и brotli -h.
- Сжать и распаковать тестовый файл: echo “test” > t.txt; brotli t.txt; brotli -d t.txt.br.
- Сравнить исходный и распакованный файлы по контрольной сумме: md5sum t.txt t.txt.br.orig (после распаковки).
- Проверить, доступны ли заголовочные файлы и библиотека в /usr/lib/brotli (или в другом указанном –libdir).
Частые проблемы и решения
- Ошибка при ./bootstrap: убедитесь, что установлены autoconf, automake и libtool.
- Ошибка make: посмотрите на первые 10–20 строк ошибки — чаще всего не хватает dev-заголовков или неправильные пути в configure.
- Команда brotli не найдена после установки: проверьте –bindir при конфигурации и обновите PATH или перезапустите сессию.
Важно: не удаляйте системные версии библиотек, если другие приложения от них зависят.
Сниппет для быстрого теста (cheat sheet)
# Клонировать и собрать
git clone https://github.com/google/brotli.git
cd brotli
./bootstrap
./configure --prefix=/usr
make -j$(nproc)
sudo make install
# Проверить
brotli --version
printf "hello world" > hello.txt
brotli hello.txt
brotli -d hello.txt.brКраткий глоссарий
- LZ77 — алгоритм поиска повторяющихся подстрок и указания их ссылками.
- Код Хаффмана — метод энтропийного кодирования для сокращения среднего числа бит на символ.
- RFC 7932 — стандарт, описывающий формат сжатых данных Brotli.
Критерии приёмки
- brotli успешно собирается и устанавливается без ошибок.
- Команда brotli возвращает ожидаемую версию и справку.
- Сжатие и распаковка тестового файла корректны и контрольные суммы совпадают.
Ссылки
Краткое резюме
Brotli — эффективный алгоритм сжатия, который легко собрать на Ubuntu 18.04 при наличии стандартных инструментов сборки. Сборка из исходников даёт гибкость в конфигурации и возможность получить новую версию, тогда как установка из репозиториев проще для стабильных окружений.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента