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

Сборка 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
Автор
Редакция

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

Уведомления PS4: настройка и управление
Гайды

Уведомления PS4: настройка и управление

Ошибка Origin 16-1: как исправить в Windows
Техподдержка

Ошибка Origin 16-1: как исправить в Windows

Отключить панель поиска Bing в Windows 10
Windows

Отключить панель поиска Bing в Windows 10

Сменить регион PlayStation Store на PS5
Гайды

Сменить регион PlayStation Store на PS5

Отключение и включение IPv6 в Linux
Сеть

Отключение и включение IPv6 в Linux

Поверхностное клонирование Git — быстрое руководство
GIT

Поверхностное клонирование Git — быстрое руководство