Համակարգային կոմունալ ծառայությունների մինիմալիստական փաթեթի թողարկում BusyBox 1.31
Ներկայացվել է փաթեթի թողարկում BusyBox 1.31 UNIX ստանդարտ կոմունալ ծառայությունների փաթեթի ներդրմամբ, որը նախագծված է որպես մեկ գործարկվող ֆայլ և օպտիմիզացված է համակարգի ռեսուրսների նվազագույն սպառման համար՝ 1 ՄԲ-ից պակաս չափով: Նոր մասնաճյուղի 1.31-ի առաջին թողարկումը դիրքավորվում է որպես անկայուն, ամբողջական կայունացում կտրամադրվի 1.31.1 տարբերակում, որը սպասվում է մոտ մեկ ամսից: Ծրագրի կոդը բաշխվում է GPLv2 լիցենզիայի ներքո:
Модульный характер BusyBox даёт возможность сформировать один унифицированный исполняемый файл, содержащий в себе произвольный набор реализованных в пакете утилит (каждая утилита доступна в форме символической ссылки на данный файл). Размер, состав и функциональность коллекции утилит можно варьировать в зависимости от потребностей и возможностей встраиваемой платформы, для которой осуществляется сборка. Пакет самодостаточный, при статической сборке с uclibc для создания рабочей системы поверх ядра Linux требуется лишь создать несколько файлов устройств в директории /dev и подготовить файлы конфигурации. По сравнению с прошлым выпуском 1.30 потребление оперативной памяти типовой сборкой BusyBox 1.31 уменьшилось на 86 байт (с 1008478 до 1008392 байт).
BusyBox-ը հիմնական գործիքն է որոնվածում GPL-ի խախտումների դեմ պայքարում: Software Freedom Conservancy (SFC) և Software Freedom Law Center (SFLC) BusyBox մշակողների անունից, երկուսն էլ՝ դատարան, և այսպես եզրակացություններ արտադատական համաձայնագրերը բազմիցս հաջողությամբ ազդել են այն ընկերությունների վրա, որոնք մուտք չեն ապահովում GPL ծրագրերի սկզբնական կոդը: Միևնույն ժամանակ BusyBox-ի հեղինակն ամեն ինչ անում է դրա համար առարկաներ նման պաշտպանության դեմ՝ հավատալով, որ դա փչացնում է իր բիզնեսը:
Հետևյալ փոփոխությունները ընդգծված են BusyBox 1.31-ում.
Добавлены новые команды: ts (реализация клиента и сервера для протокола TSP (Time-Stamp Protocol)) и i2ctransfer (создание и отправка сообщений I2C);
В udhcp добавлена поддержка опций DHCP 100 (сведения о часовом поясе) и 101 (название часового пояса в БД TZ) для IPv6;
В udhcpd добавлена поддержка статических привязок имён хостов к клиентам;
В командных оболочках ash и hush реализованы числовые литералы «BASE#nnnn». Приведена к совместимости с bash реализация команды ulimit, в том числе добавлены опции «-i RLIMIT_SIGPENDING» и «-q RLIMIT_MSGQUEUE». Добавлена поддержка «wait -n». Добавлены совместимые с bash переменные EPOCH;
В командной оболочке hush реализована переменная «$-«, в которой перечислены активированные по умолчанию опции командной оболочки;
В bc из upstream перенесён код для передачи значений по ссылке, добавлена поддержка void-функций и возможность работы со значениями ibase до 36;
В brctl все команды переведены на работу с использованием псевдо-ФС /sys;
Объединён код утилит fsync и sync;
Усовершенствована реализация httpd. Улучшена обработка HTTP-заголовков и работа в режиме прокси. В список MIME-типов включены SVG и JavaScript;
В losetup добавлена опция «-c» (принудительная перепроверка размера файла, связанного c loop-устройством), а также опция для сканирования разделов. В mount и losetup обеспечена поддержка работы с использованием /dev/loop-control;
В ntpd значение SLEW_THRESHOLD увеличено с 0.125 до 0.5;
В sysctl добавлена поддержка присвоения пустых значений;
В watch добавлена поддержка дробных значений в опции «-n SEC»;
Добавлена возможность запуска mdev в форме фонового процесса;
В утилите wget реализован флаг «-o» для определения файла для записи лога. Добавлены уведомления о начале и завершении загрузки;
В telnetd добавлена поддержка команды AYT IAC;
В vi добавлена команда ‘dG'(удаление содержимого от текущей строки до конца файла);
В команду dd добавлена опция ‘oflag=append’;
В утилиту top добавлен флаг ‘-H’ для включения режима сканирования отдельных потоков.
Кроме того, две недели назад տեղի ունեցավ արձակել Toybox 0.8.1, BusyBox-ի անալոգը, որը մշակվել է BusyBox-ի նախկին սպասարկողի և բաշխված BSD լիցենզիայի ներքո: Toybox-ի հիմնական նպատակն է արտադրողներին տրամադրել ստանդարտ կոմունալ ծառայությունների մինիմալիստական փաթեթ օգտագործելու հնարավորություն՝ առանց փոփոխված բաղադրիչների սկզբնական կոդը բացելու: Ըստ Toybox-ի մինչ այժմ ունեցած հնարավորությունների հետ մնալով от BusyBox, но уже реализовано 188 базовых команд из 220 запланированных.
Toybox 0.8.1-ի նորամուծություններից կարելի է նշել.
Достигнут уровень функциональности, достаточный для сборки Android в окружении на базе утилит Toybox.
В состав включены новые команды mcookie и devmem, из тестовой ветки перенесены переписанные команды tar, gunzip и zcat.
Для тестирования предложена новая реализация vi.
В команду find добавлена поддержка опций «-wholename/-iwholename»,
«-printf» и «-context»;
В grep добавлена опция «—exclude-dir»;
В echo появилась поддержка опции «-E».
В mount добавлена поддержка «UUID».
В команду date добавлен учёт часового пояса, заданного в переменной окружения TZ.
В sed добавлена поддержка относительных диапазонов (+N).