The OpenNET Project / Index page

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

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

27.06.2020 09:25

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

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

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

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

  • Добавлена новая команда mim для запуска скриптов из заданного файла Mimfile (чем-то напоминает урезанную утилиту make);
  • В утилите find добавлена опция "-empty" для проверки пустых файлов;
  • В утилите wget расширен лимит на число перенаправлений и реализована поддержка проверки сертификатов TLS при сбооке с ENABLE_FEATURE_WGET_OPENSSL;
  • В grep добавлена корректная поддержка списка шаблонов (pattern_list) и добавлена опция "-R" (рекурсивная обрабтка содержимого каталога);
  • Решены проблемы, проявляющиеся при сборке в Clang 9 и устранены предупреждения компилятора;
  • Предложена большая порция исправлений в командных оболочках ash и hush, нацеленных на улучшение совместимости с другими оболочками. В ash и hush добавлена возможность автодополнения встроенных команд табуляцией. В ash стабилизированы новые встроенные команды.
  • В утилите fdisk появилась поддержка разделов HFS и HFS+;
  • В init улучшена обработка состояния гонки при поступлении сигналов;
  • В утилиту наглядного мониторинга за параметрами системы nmeter добавлен формат вывода "%NT" (выровненное время с нулями);
  • В taskset добавлена возможность обработки и вывода списка CPU (опция "-c");
  • В tar изменено поведение опции "-a", которая вместо включения сжатия "lzma" теперь связана с автоопределением по расширению файла;
  • В udhcpc6 добавлена поддержка режима "stateless" для DHCPv6 (сервер отдаёт лишь параметры сети, без назначения адреса);
  • В nslookup обеспечена обработка ответов без записей RR и добавлена поддержка записей SRV;
  • В brctl добавлены новые команды "showmacs" и "showstp";
  • В dhcpc добавлена поддержка параметра"relay server";
  • В syslogd добавлена настройка для отображения времени с миллисекундной точностью;
  • В httpd при работе в режиме NOMMU разрешена установка иного домашнего каталога и обеспечена работа опции '-h' при запуске фонового процесса;
  • В xargs налажена обработка аргументов, заключённых в кавычки, и обеспечено корректное поведение опции "-n";
  • Исправлены недоработки в утилитах grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route.

Кроме того, в прошлом месяце состоялся релиз Toybox 0.8.3, аналога BusyBox, развиваемого бывшим мэйнтейнером BusyBox и распространяемого под лицензией BSD. Основным назначением Toybox является предоставление производителям возможности использования минималистичного набора стандартных утилит без открытия исходных текстов модифицированных компонентов. По возможностям Toybox пока отстаёт от BusyBox, но уже реализовано 272 базовых команд (204 полностью и 68 частично) из 343 запланированных.

Из новшеств Toybox 0.8.3 можно отметить:

  • Добавлены новые команды rtcwake, blkdiscard, getopt и readelf;
  • В "make root" обеспечена возможность создание рабочего загрузочного окружения только на основе ядра Linux и утилит Toybox, которое может быть загружено при помощи собственного init-скрипта;
  • Добавлена начальная поддержка модулей с отдельными реализациями утилит, не входящими в основной состав ToyBox;
  • Командный интерпретатор toysh доведён до готовности на 80% (пока отсутствует поддержка функций, истории, управления терминалом, job-заданий, $((math)), шаблонов);
  • Добавлена поддержка дополнительных опций в различные утилиты, включая patch, cal, cp, mv, lsattr, chattr, ls, id, netcat и setsid.


  1. Главная ссылка к новости (https://busybox.net/news.html...)
  2. OpenNews: Релиз минималистичного набора системных утилит BusyBox 1.31
  3. OpenNews: В BusyBox прекращена поддержка systemd
  4. OpenNews: Релиз минималистичного набора системных утилит BusyBox 1.30
  5. OpenNews: Противоречивая ситуация вокруг создания альтернативы Busybox
  6. OpenNews: Выпуск BusyBox 1.21.0 и Toybox 0.4.3
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/53242-busybox
Ключевые слова: busybox, toybox
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (53) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:05, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    > В то же время автор BusyBox всячески возражает против такой защиты - считая что она ломает ему бизнес.

    Добро пожаловать в свободу.

     
     
  • 2.3, A.Stahl (ok), 10:17, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Да, справедливость должна торжествовать даже в том случае если жертву запугали или купили и жертва избегает судебного разбирательства.
     
     
  • 3.8, Аноним (1), 10:46, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > жертву
    > жертва

    В любой непонятной ситуации ищи "жертв", которых нужно "защитить". А если они себя "жертвами" не считают, значит их попросту "купили". Данная модель объясняет вообще всё и способна стать основанием для вообще любого действия.

     
     
  • 4.17, Аноним (17), 11:21, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Таки люди как ты всегда могу объяснить что угодно с помощью чего угодно.
     
     
  • 5.26, я кит косатка (?), 13:15, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    На самом деле это основной аргумент для выпиливания умных людей которые что то действительно делают. А пользуются этим "самозванные блюстители нравстенности", которые ничего не делают, а просто самоорганизуются в группировки (обиженных "снежинок" и т.п.), чтобы бороться с неугодными им (хотя бы только потому, что кто-то умнее их, или просто, как это ни пародоксально - нравственнее)
     
     
  • 6.30, Аноним (30), 16:35, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не стоит забывать, что очень часто за такими толпами "барашков" стоят люди еще более умные - те, которые могут использовать глупость толпы и корыстные интересы "обиженок" себе во благо.
     
  • 3.9, Аноним (9), 11:06, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Да, справедливость должна торжествовать даже в том случае если жертву запугали или купили и жертва избегает судебного разбирательства.

    У вас некорректная аналогия. Жертвой в данном случае является сообщество, а автор — соучастник.
    И речь идёт именно о его "свободе" плодить проприетарщину, то есть ограничивать права других людей на доступ к исходному коду.

     
     
  • 4.11, qetuo (?), 11:09, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >И речь идёт именно о его "свободе" плодить проприетарщину

    Никакой свободы врагам свободы! Зацензурим противников цензуры!

     
     
  • 5.14, Аноним (9), 11:11, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Алексей Анатольевич, это вы?
     
     
  • 6.16, Аноним (17), 11:19, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это вообще то цитата Владимира Владимировича.
     
     
  • 7.27, Аноним (30), 16:30, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тогда неизбежно следует вывод, что Алексей Анатольевич - его виртуал.
     
  • 4.22, YetAnotherOnanym (ok), 12:15, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > плодить проприетарщину

    Как будто кто-то запрещает написать альрернативу под копилефтной лицензией. А кодом своим, как и вообще плодами своего труда, каждый распоряжается сам.

     
     
  • 5.29, Аноним (30), 16:32, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Как будто кто-то запрещает написать альрернативу под копилефтной лицензией. А кодом своим, как и вообще плодами своего труда, каждый распоряжается сам.

    И то, _как_ он им распоряжается, характеризует его как человека.

     
     
  • 6.31, Карабьян (?), 16:40, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Только среди последователей Столлмана
     
  • 2.13, Аноним (13), 11:11, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Он же и так включает код других gpl проектов. Или он сам с нуля все утилиты переписал?
     
     
  • 3.46, Аноним (46), 21:27, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Конечно, не тащить же в минималистичный проект кривую гнушную блоатварь. Там есть сторонний код для расширенной функциональности вроде bzip2, но его можно выключить
     
  • 2.50, Kuromi (ok), 03:31, 29/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну вот Toybox доделают и прощайте прошивки.
     

  • 1.2, Аноним (2), 10:11, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Чем оно лучше coreutils?
     
     
  • 2.4, guest (??), 10:19, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    оно другое
     
  • 2.12, Аноним (9), 11:10, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > Чем оно лучше coreutils?

    И то, и другое архитектурно являются systemd-подобными проектами (множество логически связанных инструментов, объединённых в рамках одного проекта), но busybox заходит на этом пути дальше (более тесная интеграция компонентов — единый бинарник, плюс наличие своих init и syslog).

     
     
  • 3.15, Аноним (2), 11:14, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну и какой тогда проект, реализущий юникс-утилиты, является юниксвейным?
     
     
  • 4.20, Аноним (20), 11:35, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Очевидно что bsdutils, которые настолько модульны, что многие дистрибутивы linux тащат оттуда то grep, то nc и прочее.
     
  • 4.28, Аноним (30), 16:31, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и какой тогда проект, реализущий юникс-утилиты, является юниксвейным?

    Который не является bloatware-комбайном, очевидно же.
    То есть, каждая утилита живёт в отдельном проекте.

     
  • 3.18, Аноним (17), 11:21, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > архитектурно являются systemd-подобными проектами

    Вы там совсем поехали?

     
     
  • 4.23, Аноним (23), 12:35, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Мне видней, чем является проект.
    Ибо я пользуюсь линуксом и поэтому я БОГ.
     

  • 1.5, Аноним (5), 10:28, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    На десктопе/сервере не нужно -> не нужно!!
     
     
  • 2.25, VINRARUS (ok), 12:59, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А если микросервер имеет микрофлешку?
     
  • 2.37, Аноним (37), 23:37, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А как насчёт OpenWRT?
     

  • 1.6, Аноним (6), 10:30, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Основным назначением Toybox является предоставление производителям возможности использования минималистичного набора стандартных утилит без открытия исходных текстов модифицированных компонентов

    задолбали, жду pine phone

     
  • 1.7, Аноним (7), 10:41, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > В то же время автор BusyBox всячески возражает против такой защиты - считая что она ломает ему бизнес.

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

     
     
  • 2.10, Аноним (9), 11:08, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Бизнес от этого вряд ли пойдёт лучше (с чего бы?), зато отмазываться станет нечем.
     
  • 2.19, Аноним (17), 11:23, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Законодательство вообще-то не зависит от лицензий.
     
  • 2.21, пох. (?), 12:07, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Надо тогда ему свой гпл сделать, добавив пункт что только автору решать подавать в суд или нет.

    ну да, какой еще common sense.
    Каждый разжиревший адвокатишка может вымогать деньги от твоего имени с кого угодно - если в gpl не написано, что не может.

    Там, кстати, ни разу не написано что я обязан отстаивать ценой своей репутации интересы авторов неведомой херни, которая интегрирована в мой проект - там песни про шва6одку и обещание дополнительных _прав_. Оказывается, это права не разработчикам, у тех одни обязанности, а ушлым адвокатам.

    В принципе, так-то да - все что вам нужно знать о gpl и тусовке ее поклонников, чтобы весь софт с подобными лицензиями неглядя отправлять в мусорку - как бы он ни был хорош сегодня, завтра либо в него засунут троянца (как это сделали с gcc), либо найдутся "защитники", вообще ни строчки кода за всю жизнь не написавшие.

    За всю историю bsd и mit лицензий ни одного подобного происшествия, заметим, не случилось.

     
     
  • 3.24, microsoft (?), 12:43, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Про троянец и гцц можно подробнее
     
     
  • 4.33, пох. (?), 17:45, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Про троянец и гцц можно подробнее

    гуг...бингуй. Про то, что такое и откуда взялась ненужно-libgcc_s.so и как это мы жили без нее, про "случайно забытый" между minor releases gpl excerpt, и так далее.

     
     
  • 5.42, Аноним (37), 00:35, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >ибо в него засунут троянца (как это сделали с gcc)
    >что такое и откуда взялась ненужно-libgcc_s.so

    Так это и есть троянец? А ну-ка подскажи, как libgcc_s.so создаёт в собранном софте бекдор? Как поэксплуатировать?

     
     
  • 6.44, пох. (?), 08:35, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Так это и есть троянец?

    да. Код, нужный исключительно с целью создания неочевидных проблем - безусловно является троянцем.

    Продукцией разработчиков, тратящих свое и чужое время на создание такого кода вместо улучшения компилятора - не то что не стоит пользоваться, а стоит избегать любого пересечения с их деятельностью.

    > собранном софте бекдор? Как поэксплуатировать?

    Подать в суд на распространяющего такой софт - это нарушение gpl.

     
     
  • 7.47, Аноним (46), 21:33, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Код, нужный исключительно с целью создания неочевидных проблем

    Сразу видно, что комментатор что-то понимает в обсуждаемой теме (нет)

     
  • 3.34, Урри (?), 23:03, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Очередной бред от поха
     
     
  • 4.35, Аноним (35), 23:26, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Очередной бред от гнутого теоретика и бота, который все анализирует исходные коды.
    Ты кстати все клялся, что огромный плюс твоего гнутого линукса, что ты можешь анализировать его исходники.
    Да только потом сам признался , что за всю свою жизнь ни разу этого не сделал.
    А поx всегда говорит здесь правду.
     
     
  • 5.40, Аноним (37), 00:27, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А кто подтвердит его "правду": Папа Римский, Трамп, Владимир Владимирович, Жириновский?
     
  • 4.36, Аноним (35), 23:28, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    И кстати перед тем как кукарекать, что твой оппонент лжет, проверяй информацию.
    В данном случае гнутым лжецом являешься именно ты.
     
     
  • 5.41, Аноним (37), 00:28, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А ты не являешься?
     
  • 3.43, 12 (??), 01:16, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем ты вообще неведомую херню в свой проект пихаешь?
     
     
  • 4.45, пох. (?), 08:52, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А зачем ты вообще неведомую херню в свой проект пихаешь?

    затем что в этом и смысл busybox - сборной солянки из gnu fileutils и интерфейсов ядра, затолканых в единственный бинарник.

    Причем потребители расстроятся, если вместо копипасты неведомой херни ты начнешь ее неточно косплеить - даже если бы в принципе было возможно до конца Юги успеть такое написать (методом clean room, а то адвокат уже растопырил кошель - левой головой смотришь в исходники какого-нибудь iptables, ведь документации на интерфейсы нет, рассказываешь об увиденном правой голове, которая кодит заново), и не забывая каждый день переписывать, ведь поведение утилит меняют.

    А если бы ядерных интерфейсов там не было - то и busybox был бы не нужен:
    -r-xr-xr-x  146 root  wheel  8565292 Apr 22 19:06 /rescue/pwd*
    все уже давным-давно написано. first appeared in FreeBSD 5.2

     
     
  • 5.48, Аноним (46), 21:52, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >и не забывая каждый день переписывать, ведь поведение утилит меняют.

    Рептилоиды? ты шапочку из фольги не забывай одевать

     
  • 2.52, Аноним (52), 01:17, 30/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Надо тогда ему свой гпл сделать, добавив пункт что только автору решать подавать в суд или нет. Он ведь не прав: не используй чужие лицензии, которые за тебя определяют что такое свобода, а используй свои, и никакие фанатики тебе не помешают.

    Чтобы использовать свою лицензию, надо писать свой код, а не надёргивать из coreutils и других гнутых проектов.

     

  • 1.32, Аноним (32), 17:31, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Опять софт жиреет, да сколько можно то. Линукс уже больше 50 мегабайт потребляет в 5.4, а браузер запустишь так и все 70 уже. С иксами так и вовсе под 120мб! Прекратите тратить мою оперативку.
     
     
  • 2.38, Аноним (37), 23:39, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Т.е. браузер потребляет 20 Мбайт? Где ты нашёл такой?
     
     
  • 3.39, Аноним (32), 00:03, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это elinks. В районе 5 мегабайт браузер. Просто ещё 2 мегабайта xterm и 2 мегабайта bash, вот и получается. Но можно запустить несколько браузеров, тогда каждая запущенная копия будет потреблять памяти в разы меньше 1 копии. Вполне нормально для интернета.
     
     
  • 4.49, Ordu (ok), 22:35, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто ещё 2 мегабайта xterm и 2 мегабайта bash, вот и получается.

    Если так важно экономить память, то почему бы не запускать elinks через exec elinks? Баш сделает exec на elinks без предварительного fork, и вот уже нет никакого bash, только xterm и elinks в нём.

     

  • 1.51, Аноним (51), 23:05, 29/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да для джокера это все. Хеловорлд чтобы не 250Мб весил, а 50.
     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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