Пуснат е минималистичен набор от системни утилити 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». Реализацията на командата ulimit е приведена в съответствие с bash, включително добавени опции «-i RLIMIT_SIGPENDING» и «-q RLIMIT_MSGQUEUE». Добавена е поддръжка за «wait -n». Добавени са променливи EPOCH, съвместими с bash;
  • В командната обвивка hush е реализирана променлива «$-«, в която са изброени активираните по подразбиране опции на командната обвивка;
  • В bc от upstream е преносен код за предаване на стойности по референция, добавена е поддръжка на void-функции и възможност за работа с ibase стойности до 36;
  • В brctl всички команди са пренастроени да работят с използването на псевдо-файловата система /sys;
  • Кодът на утилитите fsync и sync е обединен.
  • Подобрена реализация httpd. Подобреното обработване на HTTP заглавията и работата в прокси режим. В списъка на MIME типовете са добавени SVG и JavaScript;
  • В losetup е добавена опцията «-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.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster