Реліз мінімалістичного набору системних утиліт BusyBox 1.34

Представлено реліз пакету BusyBox 1.34 з реалізацією набору стандартних утиліт UNIX, оформлених у вигляді єдиного файлу, що виконується, і оптимізованих для мінімального споживання системних ресурсів при розмірі комплекту менше 1 Мб. Перший випуск нової гілки 1.34 позиціонується як нестабільний, повна стабілізація буде забезпечена у версії 1.34.1, яка очікується приблизно за місяць. Код проекту розповсюджується під ліцензією GPLv2.

Модульний характер BusyBox дає можливість сформувати один уніфікований файл, що містить у собі довільний набір реалізованих у пакеті утиліт (кожна утиліта доступна у формі символічного посилання на даний файл). Розмір, склад та функціональність колекції утиліт можна варіювати в залежності від потреб та можливостей вбудовуваної платформи, для якої здійснюється складання. Пакет самодостатній, при статичній збірці з uclibc для створення робочої системи поверх ядра Linux потрібно лише створити кілька файлів пристроїв у директорії /dev та підготувати файли конфігурації. Порівняно з минулим випуском 1.33 споживання оперативної пам'яті типовим складанням BusyBox 1.34 збільшилося на 9620 байт (з 1032724 до 1042344 байт).

BusyBox є основним інструментом у боротьбі з порушенням GPL у прошивках. Організація Software Freedom Conservancy (SFC) та Software Freedom Law Center (SFLC) від імені розробників BusyBox як через суд, так і шляхом укладання позасудових угод неодноразово успішно впливала на компанії, що не надають доступу до вихідного коду GPL-програм. У той же час автор BusyBox всіляко заперечує такий захист — вважаючи, що він ламає йому бізнес.

У версії BusyBox 1.34 виділяються такі зміни:

  • Додано нову утиліту ascii з інтерактивною таблицею імен ASCII-символів.
  • Додано нову утиліту crc32 для підрахунку контрольних сум.
  • У вбудованому http-сервері реалізовано підтримку методів DELETE, PUT та OPTIONS.
  • У udhcpc надано можливість зміни імені мережного інтерфейсу за умовчанням.
  • В реалізації протоколів TLS з'явилася підтримка кривих еліптичних secp256r1 (P256)
  • Продовжено розвиток командних оболонок ash та hush. У hush обробка команди ^D приведена у відповідність до поведінки ash і bash, реалізована специфічна для bash конструкція $'str', проведена оптимізація операцій заміни ${var/pattern/repl}.
  • Внесено велику порцію виправлень та покращень у реалізацію утиліти awk.
  • Утиліти base32 і base64 додана опція «-i» для ігнорування некоректних символів.
  • В утилітах bc і dc обробка змінних оточення BC_LINE_LENGTH та DC_LINE_LENGTH наближена до утиліт GNU.
  • В утиліту blockdev додані опції -getra і -setra.
  • У утиліти chattr та lsattr додана опція «-p». У lsattr розширено число підтримуваних прапорів ФС ext2.
  • В утиліту cp додані опції «-n» (заборона перезапису) та «-t DIR» (завдання цільового каталогу).
  • У cpio налагоджено роботу конструкції «cpio -d -p A/B/C».
  • В утиліту df додано опцію "-t TYPE" (обмеження виведення певним типом ФС).
  • В утиліту du додано опцію -b (еквівалент '—apparent-size —block-size=1').
  • В утиліту env додано опцію «-0» (завершення кожного рядка символом з нульовим кодом).
  • В утиліту free додана опція «-h» (висновок у вигляді).
  • В утиліту ionice додано опцію «-t» (ігнорування збоїв).
  • В утиліті login реалізовано підтримку змінної оточення LOGIN_TIMEOUT.
  • Утиліту mv додані опції «-t» (визначення цільового каталогу для переміщення) і «-T» (обробка другого аргументу як файлу).
  • В утиліту shred додано опцію «-s SIZE» (число байт, що очищаються).
  • Утиліту taskset додана опція «-a» (застосування прив'язки до CPU для всіх потоків процесу).
  • В утилітах timeout, top, watch та ping реалізована підтримка нецілих значень (NN.N).
  • В утиліту uniq додано опцію «-z» (використання символу з нульовим кодом як роздільник).
  • В утиліту unzip додано опцію «-t» (перевірка архіву).
  • У редакторі vi дозволено використання регулярних виразів у команді :s. Додано параметр expandtab. Поліпшено реалізації переміщення між параграфами, вибору діапазонів та відкату змін.
  • В утиліті xxd реалізовані опції -i (висновок у стилі Сі) та «-o DISPLAYOFFSET».
  • В утиліті wget дозволено обробку кодів HTTP 307/308 для редиректу. Додана опція FEATURE_WGET_FTP для увімкнення/вимкнення підтримки FTP.
  • В утиліті dd додано опцію «iflag=count_bytes».
  • В утиліті cut реалізовані сумісні з інструментарієм toybox опції "-O OUTSEP", "-D" та "-F LIST".

Джерело: opennet.ru

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