Έκδοση ενός μινιμαλιστικού συνόλου βοηθητικών προγραμμάτων συστήματος BusyBox 1.31

Εισήχθη απελευθέρωση πακέτου BusyBox 1.31 με την υλοποίηση ενός συνόλου τυπικών βοηθητικών προγραμμάτων UNIX, σχεδιασμένα ως ένα ενιαίο εκτελέσιμο αρχείο και βελτιστοποιημένα για ελάχιστη κατανάλωση πόρων συστήματος με μέγεθος συνόλου μικρότερο από 1 MB. Η πρώτη έκδοση του νέου κλάδου 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.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο