Гид по технологиям

Установка и сборка Brotli на Ubuntu 18.04 LTS

• 3 min read • Linux • Обновлено 18 Nov 2025
Собрать Brotli на Ubuntu 18.04
Собрать Brotli на Ubuntu 18.04

TL;DR

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

Логотип и иллюстрация Brotli, демонстрирующие алгоритм сжатия

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 возвращает ожидаемую версию.

Методология проверки установки (мини-процесс)

  1. Выполнить brotli –version и brotli -h.
  2. Сжать и распаковать тестовый файл: echo “test” > t.txt; brotli t.txt; brotli -d t.txt.br.
  3. Сравнить исходный и распакованный файлы по контрольной сумме: md5sum t.txt t.txt.br.orig (после распаковки).
  4. Проверить, доступны ли заголовочные файлы и библиотека в /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 при наличии стандартных инструментов сборки. Сборка из исходников даёт гибкость в конфигурации и возможность получить новую версию, тогда как установка из репозиториев проще для стабильных окружений.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро