BusyBox

Бесплатно
Открытый исходный код
Windows
Linux
Android

Сайт: busybox.net

BusyBox — набор компактных реализаций множества стандартных утилит Unix, объединённых в один исполнимый файл. Проект ориентирован на встраиваемые системы и окружения с ограниченными ресурсами, где требуется минимальный набор команд оболочки и инструментов для управления файловой системой, процессами и сетью. BusyBox включает в себе реализации как базовых команд пользовательского уровня, так и утилит для начальной загрузки и восстановления системы.

Архитектура BusyBox предполагает конфигурируемость: при сборке можно выбрать, какие команды включать, что позволяет оптимизировать размер итогового бинарника и набор функциональности под конкретные требования. В результате один исполняемый файл выступает в роли «многоинструментального» контейнера: при вызове через различные символьные ссылки или имена он выполняет соответствующую команду. Такое решение широко применяется в образах для встроенных устройств, одноплатных компьютеров, initramfs и при создании лёгких системных окружений.

  • Объединённый исполняемый файл: множество команд реализовано как плагины одного бинарника, с переключением поведения по имени вызова.
  • Копактность: минимизированный код и опции сборки для снижения занимаемого объёма и потребления памяти.
  • Конфигурируемость: возможность включать и исключать отдельные утилиты и опции при компиляции.
  • Набор утилит: базовые команды оболочки (sh), инструменты работы с файлами (cp, mv, ls, find), управление пакетами процессов (ps, top), сетевые команды (ifconfig, ping), загрузочные и системные утилиты (init, mount, reboot).
  • Применение: встраиваемые системы, initramfs, rescue-образы, контейнерные и минималистичные дистрибутивы Linux.
  • Совместимость: стремление к совместимости с традиционными Unix-подходами при сохранении экономии ресурсов, при этом не все опции полноценных утилит всегда реализованы.
  • Лицензирование и сообщество: проект имеет открытую модель разработки и поставляется в вариантах с различными лицензиями для исходных компонентов, что позволяет адаптировать использование в разных проектах.
Подробнее