29.07.2021

Релиз минималистичного набора системных утилит BusyBox 1.33


Представлен релиз пакета BusyBox 1.33 с реализацией набора стандартных утилит UNIX, оформленных в виде единого исполняемого файла и оптимизированных для минимального потребления системных ресурсов при размере комплекта менее 1 Мб. Первый выпуск новой ветки 1.33 позиционируется как нестабильный, полная стабилизация будет обеспечена в версии 1.33.1, которая ожидается примерно через месяц. Код проекта распространяется под лицензией GPLv2.

Модульный характер BusyBox даёт возможность сформировать один унифицированный исполняемый файл, содержащий в себе произвольный набор реализованных в пакете утилит (каждая утилита доступна в форме символической ссылки на данный файл). Размер, состав и функциональность коллекции утилит можно варьировать в зависимости от потребностей и возможностей встраиваемой платформы, для которой осуществляется сборка. Пакет самодостаточный, при статической сборке с uclibc для создания рабочей системы поверх ядра Linux требуется лишь создать несколько файлов устройств в директории /dev и подготовить файлы конфигурации. По сравнению с прошлым выпуском 1.32 потребление оперативной памяти типовой сборкой BusyBox 1.32 увеличилось на 1761 байт (с 1020219 до 1021980 байт).

BusyBox является основным инструментом в борьбе с нарушением GPL в прошивках. Организации Software Freedom Conservancy (SFC) и Software Freedom Law Center (SFLC) от лица разработчиков BusyBox как через суд, так и путём заключения внесудебных соглашений неоднократно успешно воздействовала на компании, не предоставляющие доступ к исходному коду GPL-программ. В то же время автор BusyBox всячески возражает против такой защиты — считая что она ломает ему бизнес.

В версии BusyBox 1.33 выделяются следующие изменения:

  • Добавлена новая утилита base32.
  • В утилиту modprobe добавлена поддержка чёрного списка недопустимых для загрузки модулей ядра (modprobe.blacklist=module1,module2,…).
  • В утилиту dd добавлена поддержка прямого ввода/вывода (режим O_DIRECT).
  • В утилиту mount добавлена поддержка опций «-o nostrictatime», «-o [no]lazytime» и «-o nosymfollow».
  • В утилиту ip добавлена поддержка опций «noprefixroute», «valid_lft» и «preferred_lft». В ip rule добавлена поддержка опций fwmark/fwmask для маршрутизации по адресу источника (policy routing).
  • В утилите chrt добавлена поддержка стандартной Си-библиотеки musl.
  • Добавлено несколько десятков изменений в библиотеку libbb, в том числе задействована инфраструктура для страниц фиксированного размера и добавлены новые фунеции exec_login_shell(), msleep(), sleep1() и xsettimeofday().
  • В ftp добавлена поддержка ответов PASV, не заканчивающихся символом ‘)’.
  • Продолжено развитие командных оболочек ash и hush. Улучшена поддержка специфичных для bash конструкций «[[ ]]».
  • В утилиту date добавлена поддержка опций «-Ins» и улучшена совместимость при отображении часовых поясов.
  • В утилите login включена отправка в syslog информации о каждом некорректном пароле.
  • В ntpd разрешён запуск пользователем, отличным от root (используя опцию «-w»).
  • Заметно доработана утилита traceroute.
  • В mdev добавлена поддержка вывода лога через syslog.
  • В util-linux добавлена поддержка файловой системы erofs.
  • Во встроенном http-сервере обновлена реализация HTTP/1.1 и добавлена поддержка кэширования на основе данных из HTTP-заголовка ETag. В ответах прекращено добавление HTTP-заголовков Date и Last-Modified. Сделаны необязательными настройки ограничения доступа по IP («A:…», «D:…»). Переработаны стили CSS, используемые при выводе содержимого каталогов в httpd_indexcgi.

Источник: https://www.opennet.ru/opennews/art.shtml?num=54334

Добавить комментарий