Համակարգային կոմունալ ծառայությունների մինիմալիստական ​​փաթեթի թողարկում 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).
  • Улучшена читаемость вывода ps, top и iotop.

Source: opennet.ru

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