Релиз минималистичного набора системных утилит BusyBox 1.29
Представлен релиз пакета BusyBox 1.29 с реализацией набора стандартных утилит UNIX, оформленных в виде единого исполняемого файла и оптимизированных для минимального потребления системных ресурсов при размере комплекта менее 1 Мб. Первый выпуск новой ветки 1.29 позиционируется как нестабильный, полная стабилизация будет обеспечена в версии 1.29.1, которая ожидается примерно через месяц. Код проекта распространяется под лицензией GPLv2.
Модульный характер BusyBox даёт возможность сформировать один унифицированный исполняемый файл, содержащий в себе произвольный набор реализованных в пакете утилит (каждая утилита доступна в форме символической ссылки на данный файл). Размер, состав и функциональность коллекции утилит можно варьировать в зависимости от потребностей и возможностей встраиваемой платформы, для которой осуществляется сборка. Пакет самодостаточный, при статической сборке с uclibc для создания рабочей системы поверх ядра Linux требуется лишь создать несколько файлов устройств в директории /dev и подготовить файлы конфигурации. По сравнению с прошлым выпуском 1.28 потребление оперативной памяти типовой сборкой BusyBox 1.29 увеличилось на 1125 байт (с 968029 до 969154 байт).
BusyBox является основным инструментом в борьбе с нарушением GPL в прошивках. Организации Software Freedom Conservancy (SFC) и Software Freedom Law Center (SFLC) от лица разработчиков BusyBox как через суд, так и путём заключения внесудебных соглашений неоднократно успешно воздействовала на компании, не предоставляющие доступ к исходному коду GPL-программ. В то же время автор BusyBox всячески возражает против такой защиты — считая что она ломает ему бизнес. Для производителей, которые не желают открывать исходные тексты модифицированных компонентов, в рамках проекта Toybox развивается аналог BusyBox, распространяемый под лицензией BSD (2 clause). По возможностям Toybox пока отстаёт от BusyBox.
В версии BusyBox 1.29 выделяются следующие изменения:
- Добавлено приложение svok для обеспечения совместимости с daemontools;
- Включено приложение tc для манипуляции настройками управления трафиком;
- В команду cp добавлена опция »-T» (целевой путь рассматривается как файл, а не каталог);
- В команду less добавлены опции »-F» (выход после отображения содержимого, если вывод укладывается в один экран) и »-R» (вывод в неизменном виде escape-последовательностей ANSI);
- Приложения cal и mv переведены на работу в режиме NOEXEC;
- В командные оболочки ash и hush внесены многочисленные исправления, направленные на улучшение совместимости. В hush добавлена новая встроенная команда «command» и опция «hush -s»;
- Производительность bzip2 увеличена приблизительно на 1%;
- В df на 32-разрядных системах обеспечена поддержка разделов, превышающих 4TB;
- В ftpd добавлена опция »-A» для отключения всех типов аутентификации;
- В ftpgetput добавлена поддержка режима EPSV (похожий на PASV режим для IPv6);
- В команде patch реализован режим »--dry-run»;
- В утилите ping добавлена опция »-A», включающая адаптивный режим выбора интервала отправки пакетов;
- В команды realpath и readlink добавлена опция »-f» (раскрытие симлинков) для совместимости с coreutils;
- В команде sort реализован режим с оптимизацией, нацеленной на минимальное потребление памяти (FEATURE_SORT_OPTIMIZE_MEMORY).
- В udhcpc6 добавлена поддержка делегирование префиксов IPv6;
- В команду wget добавлена поддержка режима EPSV и URI «ftps://»;
- В «ip link» добавлена поддержка команды«add TYPE vrf»;
- В системе сборки налажена возможность сборки в несколько потоков.
- В chrt добавлена поддержка атрибутов процессов SCHED_BATCH и SCHED_IDLE.
© OpenNet