Реліз мінімалістичного набору системних утиліт 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» (примусове перевіряння розміру файлу, пов'язаного з 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

Додати коментар або відгук