The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

02.01.2018 21:32

Представлен релиз пакета BusyBox 1.28 с реализацией набора стандартных утилит UNIX, оформленных в виде единого исполняемого файла и оптимизированных для минимального потребления системных ресурсов при размере комплекта менее 1 Мб. Первый выпуск новой ветки 1.28 позиционируется как нестабильный, полная стабилизация будет обеспечена в версии 1.28.1, которая ожидается примерно через месяц. Код проекта распространяется под лицензией GPLv2.

Модульный характер BusyBox даёт возможность сформировать один унифицированный исполняемый файл, содержащий в себе произвольный набор реализованных в пакете утилит (каждая утилита доступна в форме символической ссылки на данный файл). Размер, состав и функциональность коллекции утилит можно варьировать в зависимости от потребностей и возможностей встраиваемой платформы, для которой осуществляется сборка. Пакет самодостаточный, при статической сборке с uclibc для создания рабочей системы поверх ядра Linux требуется лишь создать несколько файлов устройств в директории /dev и подготовить файлы конфигурации. По сравнению с прошлым выпуском 1.27 потребление оперативной памяти типовой сборкой BusyBox 1.28 увеличилось на 1597 байт (с 967858 до 969455 байт).

BusyBox является основным инструментом в борьбе с нарушением GPL в прошивках. Организации Software Freedom Conservancy (SFC) и Software Freedom Law Center (SFLC) от лица разработчиков BusyBox как через суд, так и путём заключения внесудебных соглашений неоднократно успешно воздействовала на компании, не предоставляющие доступ к исходному коду GPL-программ. В то же время автор BusyBox всячески возражает против такой защиты - считая что она ломает ему бизнес. Для производителей, которые не желают открывать исходные тексты модифицированных компонентов, в рамках проекта Toybox развивается аналог BusyBox, распространяемый под лицензией BSD (2 clause). По возможностям Toybox пока отстаёт от BusyBox.

В версии BusyBox 1.28 выделяются следующие изменения:

  • Добавлено приложение arch для вывода информации об аппаратной архитектуре (аналог "uname -m");
  • В набор klibc-utils включены новые приложения resume, nuke и minips;
  • Добавлено приложение net с утилитой netcat (как псевдоним nc);
  • Добавлено приложение run-init для запуска системы инициализации после монтирования корня в новой ФС;
  • Добавлено приложение setfattr для установки расширенных атрибутов файлов;
  • Добавлено приложение hexedit для просмотра и редактирования файлов в виде шестнадцатеричного дампа;
  • В конфигураторе произведено слияние меню "Busybox Settings" и "Busybox Library Tuning";
  • Большое число приложений переведены на работу в режиме NOEXEC;
  • В командной оболочке ash добавлена поддержка синтаксиса "trap NUM [SIG]...", формата ${var:EXPR:EXPR} и вложенных определений localvars. GPL-код noclobberopen() заменён на более компактную реализацию от проекта FreeBSD;
  • В командной оболочке hush добавлена поддержка "set -e", ${VAR:N:-M} и новых встроенный команд "getopts", "readonly" и "times". В команду "read" добавлена поддержка опции "d DELIM". Установлен приоритет определённых в скрипте функций над встроенными командами
  • В crond добавлен макрос @daily;
  • В httpd налажена работа запросов с http-заголовком Range;
  • В inetd обеспечена возможность запуска под пользователями, отличными от root;
  • В rpm2cpio добавлена поддержка rpms-файлов, сжатых при помощи LZMA;
  • В приложении xargs добавлена поддержка опций "-P NUM" и "-a FILE";
  • В приложении kill добавлена опция '--'для разделения опций от аргументов.


  1. Главная ссылка к новости (https://busybox.net/news.html...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47848-busybox
Ключевые слова: busybox
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (16) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, VINRARUS (ok), 22:58, 02/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >>В командной оболочке ash добавлена...

    Пишеш код под их ash несколько лет, думая шо он POSIX совместим, а потом узнаеш шо не совместим. -_-

     
     
  • 2.2, Аноним (-), 23:41, 02/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не заковыристые, похоже, у тебя задачи для него, вот и не наступил.
     
     
  • 3.5, VINRARUS (ok), 00:18, 03/01/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Муз. плеер на shel достаточно заковыристая задача например? :)
     
     
  • 4.13, Аноним (-), 12:15, 03/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для тебя - да.
     
     
  • 5.16, VINRARUS (ok), 20:48, 03/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А для тебя где заковыристо?
     
  • 2.6, Аноним (-), 00:29, 03/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А в каком именно месте несовместим? Я с dash постоянно дело имею, не замечал за ним подобного.
     
     
  • 3.9, Аноним (-), 00:46, 03/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А, про trap, что ли, речь? Ну это не считается, такой синтаксис сравнительно недавно в стандарт вошёл. ☺
     
  • 3.10, VINRARUS (ok), 01:08, 03/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >А в каком именно месте несовместим?

    Например тут:
    let NULL=5+0

     
  • 2.7, Аноним (-), 00:33, 03/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Года три-четыре назад напоролся на проблему в ash, связанную с подстановками типа ${} (в чём конкретно была, уже не помню). Стал разбираться в исходниках и обнаружил, что некоторые возможности подстановок сделаны подпорками, причём так, что в некоторых случаях ошибок парсинга не избежать. Перешёл на hush, где таких проблем не было.
     
  • 2.15, Нанобот (ok), 20:06, 03/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Свет не сошёлся клином на posix-совместимости
     

  • 1.3, Аноним (-), 23:50, 02/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Как системд, прям, да? Или нет? :)
     
     
  • 2.4, й (?), 00:18, 03/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я вот не уверен, что есть бОльшая наркомания в 2018 году: inetd или systemd
     
     
  • 3.8, Аноним (-), 00:42, 03/01/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > я вот не уверен, что есть бОльшая наркомания в 2018 году: inetd
    > или systemd

    systemd, конечно. Он же включает в себя функционал inetd.

     
  • 2.11, EHLO (?), 02:22, 03/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как системд, прям, да? Или нет? :)

    Нет, абсолютная противоположность. https://busybox.net/about.html

     
  • 2.12, VINRARUS (ok), 02:35, 03/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее как bin.tar
     

  • 1.14, Нанобот (ok), 20:05, 03/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > BusyBox является основным инструментом в борьбе с нарушением GPL в прошивках.

    Такой себе "меч Столлмана"

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру