The OpenNET Project / Index page

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

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

01.01.2019 10:04

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

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

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

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

  • Добавлена утилита "bc" для произвольных математических вычислений. На базе нового кода "bc" переработана и существенно расширена утилита "dc" (стековые вычисления в обратной польской записи);
  • В утилиту ifupdown добавлена поддержка опции "source-directory" для размещения настроек в виде набора файлов в каталоге (например, /etc/network/interfaces.d);
  • В реализацию TLS добавлена поддержка алгоритма x25519 (RFC 7748), режима FEATURE_TLS_SHA1 и шифров ECDHE-ECDSA-AES-128-CBC-SHA, TLS_ECDHE_RSA_ WITH_AES_128_GCM_SHA256 и TLS_ECDHE_ECDSA_ WITH_AES_128_CBC_SHA256.
  • В командной оболочке ash обеспечена возможность встраивания shell-скриптов в исполняемые файлы. Налажен разбор выражений "${}";
  • В командной оболочке hush оптимизирован код для проверки наличия символов в строке, улучшена обработка выражений "${var#...}", "${var:+...}" и "${var/.../...}", работа "set -x" приближена к bash, обеспечена установка переменной окружения IFS, добавлена возможность запуска встроенных скриптов;
  • В lineedit добавлена поддержка автодополнения встроенных скриптов;
  • В libarchive добавлена функция для распаковки встроенных данных;
  • В команду busybox добавлена опция '--show SCRIPT' для отображения встроенных скриптов;
  • В утилите awk обеспечено корректное завершение работы в случае указания отрицательных значений параметра "NF";
  • В утилиту cp добавлен режим "--reflink" (клонирование метаданных файла с созданием ссылки на уже имеющиеся данные без их фактического копирования);
  • Поведение fdisk приведено в соответствие с аналогичной утилитой из набора util-linux 2.31;
  • В утилиту find добавлены опции "-executable" и "-quit";
  • В процессе инициализации init решены проблемы с перезагрузкой в контейнерах;
  • В nbd-client добавлена поддержка нового варианта протокола и реализованы опции "-b", "-d", "-p", "-N";
  • В nslookup добавлена поддержка поиска доменов (опция search в resolv.conf);
  • В ntpd добавлена поддержка верификации сообщений при помощи хэшей MD5/SHA1, параметр MIN_FREQHOLD выставлен в значение 3, включён режим FEATURE_NTP_AUTH=y, минимальное значение G.FREQHOLD_cnt повышено с 8 до 10, реализована опция "-i SEC";
  • В утилиту uptime добавлена опция "-s" (показ даты загрузки системы);
  • В утилите free обеспечен показ доступной для использования памяти;
  • В udhcp добавлена поддержка опции 211 ("reboot time");
  • В chpasswd добавлен режим запуска в chroot;
  • В sendmail добавлена поддержка режима аутентификации "AUTH PLAIN", в дополнение к "AUTH LOGIN";
  • Проведена чистка реализации vi от дублирующегося кода;
  • В утилиту dd добавлена поддержка опции 'oflag=seek_bytes';
  • В утилиту nproc добавлены опции "--all --ignore=N".


  1. Главная ссылка к новости (https://busybox.net/news.html...)
  2. OpenNews: Релиз минималистичного набора системных утилит BusyBox 1.29
  3. OpenNews: В BusyBox прекращена поддержка systemd
  4. OpenNews: Выпуск набора базовых системных утилит GNU Coreutils 8.30
  5. OpenNews: Противоречивая ситуация вокруг создания альтернативы Busybox
  6. OpenNews: Выпуск BusyBox 1.21.0 и Toybox 0.4.3
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/49886-busybox
Ключевые слова: busybox
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (17) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:22, 01/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    7393 байта ОЗУ! Совсем зажрались, не напасешься на них.
     
     
  • 2.2, Anonim (??), 11:03, 01/01/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А на что столько памяти? Опять глобальные переменные завезли?
     

  • 1.3, 2019 Year of Linux on Desktops (?), 11:27, 01/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    >В утилиту awk добавлена поддержка отрицательных значений параметра "NF"

    Отрицательное количество полей? Что за бред?

     
     
  • 2.8, Ordu (ok), 12:55, 01/01/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    В оригинале: "awk: abort if NF set to negative value".

    В некотором смысле это поддержка. Особенно если до этого бизибокс падал с сегфолтом или включал недокументированное поведение, столкнувшись с отрицательным NF.

     

  • 1.4, Аноним (-), 11:40, 01/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Есть у когонить дистрибутив с ним? Точнее "..для создания рабочей системы поверх ядра Linux требуется лишь создать несколько файлов устройств в директории /dev и подготовить файлы конфигурации..." - ктонить создавал и поделиться? А lynx в состав входит или там чтото другое для интернета?
     
     
  • 2.6, Аноним (6), 11:55, 01/01/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    buildroot.org
     
  • 2.7, Анонимус154 (?), 12:11, 01/01/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Alpine же
     
  • 2.9, VINRARUS (ok), 13:01, 01/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    На Motorola ZN5 успешно 10 лет функционирует дистрибутив с BusyBox v1.01 как набором почти всех утилит, правда с доп. патчами от Motorola.
     
  • 2.14, Аноним (14), 16:42, 01/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Для интернета там wget
     
  • 2.15, San (??), 18:50, 01/01/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    OpenWRT
     

  • 1.5, Аноним (5), 11:40, 01/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Алло это бета версия!1.30.1 версия выидет тогда посмотрим что окончательно добавят.
     
     
  • 2.16, Аноним (16), 21:09, 01/01/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Алло это бета версия!

    Алло, кэп, а я как раз собирался сам позвонить вам по этому поводу...

     

  • 1.10, VINRARUS (ok), 13:20, 01/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не могу понять проблему на Linux (none) 2.6.10_dev  armv6l unknown.
    ./busybox-armv5l ash
    read E </rpoc/stat - работает;
    read U </rpoc/meminfo - висит.
    Пробовал разные busybox (и 2009 года), пробовал и скомпилированые вручную. Хотя родной 1.01 не висит (как и версия для ПК также нормально работает).
     
     
  • 2.11, Павел (??), 13:36, 01/01/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Opennet похож на багтрекер?
     
  • 2.13, Ordu (ok), 16:12, 01/01/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    strace твой лучший друг. Сравни его вывод между висящими и не висящими вариантами.
     

  • 1.17, Аноним (17), 08:40, 02/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Когда уже его сделают для людей - перепишут на электроне? ;)
     
     
  • 2.18, Аноним jpg (?), 00:05, 05/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ну так вставь в исходниках в случайных местах пауз - вот и вся переписка
    и пивасиком проверь
     

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



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

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