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

Сборка Brotli из исходников на Fedora 29

• 3 min read • Сборка ПО • Обновлено 24 Nov 2025
Сборка Brotli из исходников на Fedora 29
Сборка Brotli из исходников на Fedora 29

Логотип Brotli на фоне абстрактной визуализации процесса сжатия данных

Краткий обзор

Brotli — алгоритм безпотерьного сжатия общего назначения, сочетающий модернизированный вариант LZ77, кодирование Хаффмана и моделирование контекста 2-го порядка. Часто даёт плотнее сжатие по сравнению с deflate при сопоставимой скорости. Проект открытый (MIT), спецификация формата описана в RFC 7932.

Важно: в этом руководстве целевая система — Fedora 29. На других версиях Fedora или дистрибутивах могут потребоваться незначительные изменения путей и пакетов.

Что нужно

  • Система Fedora 29.
  • Непривилегированный пользователь с sudo-доступом.

Быстрая проверка системы

Проверьте версию Fedora:

cat /etc/fedora-release  
# Fedora release 29 (Twenty Nine)

Настройка временной зоны (опционально, если требуется):

timedatectl list-timezones  
sudo timedatectl set-timezone 'Region/City'

Обновите пакеты операционной системы:

sudo dnf check-update; sudo dnf update -y

Перед сборкой: установка инструментов

Установите базовые инструменты для сборки:

sudo dnf install -y wget gcc make bc sed autoconf automake libtool git tree

Чеклист перед началом сборки:

  • Доступ в интернет для клонирования репозитория.
  • Достаточно места на диске для исходников и сборки.
  • Наличие sudo.

Клонирование исходников и просмотр документации

Клонируйте репозиторий Brotli:

git clone https://github.com/google/brotli.git

Перейдите в каталог с исходниками:

cd brotli

Создайте страницу man для команды brotli (копирование из каталога с исходниками в системный каталог man):

sudo cp ~/brotli/docs/brotli.1 /usr/share/man/man1 && sudo gzip /usr/share/man/man1/brotli.1

Проверьте страницу справки man:

man brotli

Генерация конфигурационных скриптов Autotools

Чтобы получить скрипт configure, выполните:

./bootstrap

После этого будут доступны привычные этапы сборки для C-программ: configure, make и make install.

Для справки можно запустить:

./configure --help

Сборка и установка Brotli

Ниже приведены базовые команды для конфигурации, сборки и установки Brotli в системные каталоги Fedora 29:

./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 --version  
# brotli 1.0.7

Или получите краткую справку по ключам:

brotli -h

Критерии приёмки

Перед считать сборку успешной, выполните все пункты:

  • Команда brotli --version возвращает ожидаемую версию.
  • man brotli показывает страницу справки.
  • Установленные бинарники находятся в /usr/bin, библиотеки в /usr/lib64/brotli по указанной конфигурации.
  • Тестовая компрессия/распаковка работает: echo hello | brotli | brotli -d.

Советы по отладке

  • Если ./bootstrap завершился с ошибкой, проверьте, установлены ли autoconf/automake/libtool.
  • Если make install не копирует файлы в указанные каталоги, повторно проверьте опцию --prefix и переменные среды (например, DESTDIR для пакетизации).
  • На системах с другой архитектурой или иерархией каталогов (например, /usr/lib вместо /usr/lib64) измените --libdir и --libexecdir соответствующе.

Важно: Fedora 29 — устаревшая ветка. Для современных Fedora используйте аналогичные шаги, но учитывайте возможные изменения путей и пакетов.

Альтернативные подходы и когда Brotli не подходит

  • Если вам нужна максимально быстрая компрессия/распаковка для локальных резервных копий, рассмотрите zstd: он часто быстрее на распаковке и даёт хорошее соотношение скорость/сжатие.
  • Для обратной совместимости с древними системами без поддержки Brotli на стороне клиента предпочтительнее gzip/deflate.
  • Для потоковой компрессии в реальном времени с малыми задержками выбирайте алгоритмы, оптимизированные под скорость, а не плотность сжатия.

Факты и краткие ориентиры

  • Лицензия: MIT.
  • Спецификация формата: RFC 7932.
  • Примерная версия в этом руководстве: 1.0.7.
  • Аналог по скорости: deflate; по плотности: обычно превосходит deflate.

Чеклист оператора перед деплоем

  • Обновить систему и установить все зависимости.
  • Собрать в тестовом контейнере/виртуальной машине перед установкой в продакшен.
  • Проверить интеграцию с web-сервером (если используется для сжатия трафика).

Краткое резюме

Вы собрали Brotli из исходников на Fedora 29: подготовили окружение, сгенерировали конфигурацию, выполнили сборку и установку, проверили работоспособность. Для других дистрибутивов или более новых версий Fedora может потребоваться корректировка путей и пакетов.

Полезные ссылки

Поделиться: 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 быстро