Коллекция инструментов Unix
BusyBox — это программный пакет , который предоставляет несколько утилит Unix в одном исполняемом файле . Он работает в различных средах POSIX , таких как Linux , Android , [8] и FreeBSD , [9] хотя многие из предоставляемых им инструментов предназначены для работы с интерфейсами, предоставляемыми ядром Linux . Он был специально создан для встраиваемых операционных систем с очень ограниченными ресурсами. Авторы окрестили его « швейцарским армейским ножом встраиваемого Linux », [10] поскольку один исполняемый файл заменяет основные функции более чем 300 общих команд. Он выпускается как свободное программное обеспечение в соответствии с условиями GNU General Public License v2 , [6] после спорного решения не переходить на версию 3 .
История
Происхождение
Первоначально написанный Брюсом Перенсом в 1995 году и объявленный готовым к использованию в 1996 году, [11] BusyBox изначально был нацелен на то, чтобы поместить полную загрузочную систему на одну дискету , которая могла бы служить как диском восстановления, так и установщиком для дистрибутива Debian . С тех пор он был расширен, став фактическим стандартным набором инструментов основного пространства пользователя для встраиваемых устройств Linux и установщиков дистрибутивов Linux. Поскольку каждый исполняемый файл Linux требует нескольких килобайт служебных данных, объединение программой BusyBox более двухсот программ вместе часто экономит существенное дисковое пространство и системную память.
BusyBox поддерживался Энрике Занарди и был сосредоточен на потребностях системы установки загрузочных дискет Debian до начала 1998 года, когда Дэйв Синеге взял его на себя для Linux Router Project (LRP). Cinege внес несколько дополнений, создал модульную среду сборки и переключил фокус BusyBox на общие высокоуровневые встроенные системы . Поскольку разработка LRP замедлилась в 1999 году, Эрик Андерсен, тогда работавший в Lineo, Inc. , взял на себя проект и стал официальным сопровождающим с декабря 1999 года по март 2006 года. За это время рынок встроенных Linux-решений резко вырос, и BusyBox значительно повзрослел, расширив как свою пользовательскую базу, так и функциональность. Роб Лэндли стал сопровождающим в 2005 году и продержался до конца 2006 года, затем Денис Власенко занял пост текущего сопровождающего.
Споры вокруг GPLv2/GPLv3
В сентябре 2006 года после интенсивных дискуссий и споров между руководителем проекта Робом Лэндли и Брюсом Перенсом [12] проект BusyBox [13] [14] решил не принимать GNU General Public License версии 3 ( GPLv3 ); лицензия BusyBox была уточнена как распространяемая только под GPL-2.0 [15 ]
С октября 2006 года Денис Власенко взял на себя поддержку BusyBox от Роба Лэндли, который основал Toybox , также из-за споров о лицензии. [13] [16]
Иски по GPL
В конце 2007 года BusyBox также приобрел известность благодаря активному преследованию нарушений условий своей лицензии (GPL) в Окружном суде США по Южному округу Нью-Йорка . [17]
То, что было заявлено как первый иск США о нарушении GPL, касалось использования BusyBox во встроенном устройстве . Иск, [17] дело 07-CV-8205, был подан 20 сентября 2007 года Центром права свободы программного обеспечения (SFLC) от имени Андерсена и Лэндли против Monsoon Multimedia Inc. после того, как код BusyBox был обнаружен в обновлении прошивки , а попытки связаться с компанией, по-видимому, не увенчались успехом. Дело было урегулировано с публикацией версии Monsoon исходного кода и выплатой нераскрытой суммы денег Андерсену и Лэндли. [18]
21 ноября 2007 года SFLC подал два аналогичных иска от имени Andersen и Landley против еще двух компаний, Xterasys (дело 07-CV-10455) и High-Gain Antennas (дело 07-CV-10456). [19] [20] Дело Xterasys было урегулировано 17 декабря за раскрытие использованного исходного кода и нераскрытый платеж, [21] а дело High-Gain Antennas — 6 марта 2008 года за активное соблюдение лицензии и нераскрытый платеж. [22] 7 декабря 2007 года было возбуждено дело против Verizon Communications по поводу распространения прошивки для маршрутизаторов Actiontec; [23] [24] это дело было урегулировано 17 марта 2008 года при условии соблюдения лицензии, назначения должностного лица для надзора за будущим соблюдением лицензий на свободное программное обеспечение и выплаты нераскрытой суммы. [25] Дальнейшие иски были поданы 9 июня 2008 года против Bell Microproducts (дело 08-CV-5270) и SuperMicro (дело 08-CV-5269), [26] дело Super Micro было урегулировано 23 июля 2008 года. [27] BusyBox и Bell Microproducts также урегулировали спор во внесудебном порядке 17 октября. [28]
14 декабря 2009 года был подан новый иск, в котором названы четырнадцать ответчиков, включая Best Buy , JVC , Samsung и других. [29] [30] [31]
В феврале 2010 года Samsung выпустила прошивку для телевизора LN52A650 под лицензией GPLv2, [32] которая позже использовалась в качестве ссылки в проекте сообщества SamyGO . [33]
Примерно 3 августа 2010 года BusyBox выиграла у Westinghouse заочное решение о возмещении тройного ущерба в размере 90 000 долларов США и судебных издержек и гонораров в размере 47 865 долларов США, а также о владении «предположительно большим количеством телевизоров высокой четкости» в качестве контрафактного оборудования в судебном процессе Software Freedom Conservancy против Best Buy и др., деле о нарушении GPL, упомянутом в параграфе выше. [34]
Никакие другие разработчики, включая оригинального автора Брюса Перенса и сопровождающего Дейва Синеджа, не были представлены в этих действиях или являлись сторонами урегулирования. 15 декабря 2009 года Перенс опубликовал заявление, в котором выразил свое недовольство некоторыми аспектами правовой ситуации, и в частности, заявил, что нынешние разработчики BusyBox «похоже, удалили некоторые заявления об авторских правах других разработчиков BusyBox и, похоже, изменили заявления о лицензиях». [12]
Функции
BusyBox можно настроить для предоставления подмножества из более чем двухсот утилит. Он может предоставить большинство утилит, указанных в Single Unix Specification (SUS), а также многие другие, которые пользователь ожидает увидеть в системе Linux. BusyBox использует оболочку Almquist , также известную как A Shell, ash и sh. [35] Альтернативой для настройки является меньшая оболочка 'hush'. Раньше были доступны "Msh" и "lash". [36]
Так как это полноценная система самозагрузки, она дополнительно заменит демон init и udev (или более современный systemd ), используя себя для вызова в качестве init при запуске и mdev во время горячего подключения.
Полный список реализованных утилит представлен на сайте BusyBox. [37]
Одиночный двоичный
Типичные компьютерные программы имеют отдельный двоичный ( исполняемый ) файл для каждого приложения. BusyBox — это единый двоичный файл, представляющий собой конгломерат множества приложений, к каждому из которых можно получить доступ, вызвав единый двоичный файл BusyBox с различными именами (поддерживаемыми наличием символической ссылки или жесткой ссылки для каждого отдельного имени) [38] определенным образом с соответствующими аргументами.
BusyBox выигрывает от подхода с одним двоичным кодом, поскольку он снижает накладные расходы, вносимые форматом исполняемого файла (обычно ELF ), и позволяет совместно использовать код между несколькими приложениями без необходимости использования библиотеки . Эта техника похожа на ту, что предоставляется командой crunchgen [39] в FreeBSD , разница в том, что BusyBox предоставляет упрощенные версии утилит (например,лскоманда без возможности сортировки файлов), в то время как сгенерированная crunchgen сумма всех утилит предложит полностью функциональные версии.
Совместное использование общего кода вместе с процедурами, написанными с учетом оптимизации размера, может заставить систему BusyBox использовать гораздо меньше места для хранения, чем система, созданная с соответствующими полными версиями утилит, замененных BusyBox. Исследование [40] , сравнивающее реализации стандартных команд Unix в GNU , BusyBox, asmutils и Perl, показало, что в некоторых ситуациях BusyBox может работать быстрее других реализаций, но не всегда.
Команды
В официальной документации BusyBox представлен обзор доступных команд и их параметров командной строки.
Список команд BusyBox [41]
- acpid
- adduser
- adjtimex
- пепел
- ар
- arp — Протокол разрешения адресов (ARP)
- arping — отправка ARP-ЗАПРОСА соседнему хосту
- пепел
- basename — возвращает некаталоговую часть пути, удаляя суффикс.
- звуковой сигнал
- blkid — Печать типа, метки и UUID файловой системы на блочном устройстве или изображении.
- brctl
- bunzip2 — Распаковывает файлы bzip2.
- bzcat — Распаковывает файлы bzip2 в стандартный вывод.
- bzip2 — Создание сжатых файлов bzip2.
- cal — Распечатать календарь.
- cat — Вывести содержимое одного или нескольких файлов на стандартный вывод.
- кабельное телевидение
- чат
- chattr — Изменение атрибутов файла в файловой системе Linux.
- chgrp — Изменить группу из одного или нескольких файлов.
- chmod — Изменить режим перечисленных файлов.
- chown — Сменить владельца одного или нескольких файлов.
- chpasswd
- чпст
- chroot — запуск команды в новом корневом каталоге.
- чрт
- чвт
- cksum — Для каждого файла вывести значение контрольной суммы crc32, длину и имя файла.
- очистить — очистить экран.
- cmp — Сравнение содержимого двух файлов.
- comm — выбрать или отклонить строки, общие для двух файлов.
- cp — Копирование файлов.
- cpio — Копирование файлов в архив cpio формата «newc» и из него.
- кронд
- кронтаб
- криптопв
- вырезать — вывести выбранные части строк из каждого ФАЙЛА на стандартный вывод.
- дата — Установить/получить текущую дату/время.
- постоянный ток
- dd — Копирование файла с конвертацией и форматированием.
- deallocvt
- делгруппа
- обманщик
- depmod
- devmem
- df — Распечатать статистику использования файловой системы.
- dhcprelay
- diff — Сравнение двух файлов.
- dirname — Показать часть пути, соответствующую каталогу.
- dnsd
- dnsdomainname
- dos2unix — Преобразует формат новой строки из dos "\r\n" в unix "\n".
- dpkg
- du — Показывает использование диска, место, занимаемое файлами и каталогами.
- dumpkmap
- дамплайсы
- echo — Отображение указанной строки текста.
- ред
- выталкивать
- env — Установить среду для вызова команды или вывести список переменных среды.
- envdir
- окрыленный
- расширить — расширить табуляции до пробелов в соответствии с табуляциями.
- выражение
- поддельныйидентд
- ЛОЖЬ
- fbset
- fbslash
- fdflush
- fdformat
- fdisk
- находить
- findfs
- flash_lock
- flash_unlock
- складывать
- бесплатно
- freeramdisk
- fsck.minix
- fsck
- fsync
- фтпд
- ftpget
- ftpput
- термофиксатор
- getopt
- гетти
- grep — Поиск ШАБЛОНА в каждом ФАЙЛЕ или стандартном вводе.
- gunzip — Расширение сжатого файла.
- gzip — Сжатие файлов.
- hd
- hdparm
- голова
- hexdump
- hostid
- имя хоста
- httpd — HTTP-сервер-демон
- тишина
- hwclock
- идентификатор
- ifconfig
- есливниз
- еслипоработить
- ifplugd
- если бы
- инетд
- неоповещенный
- insmod
- установить
- ионический
- ip
- ipaddr
- ipcalc
- ipcrm
- ipcs
- iplink
- iproute
- iprule
- iptunnel
- режим_кбд
- kill — Послать сигнал процессу.
- киллалл
- клогд
- последний
- длина
- меньше
- linux32
- linux64
- linuxrc
- ln — Создать ссылку с именем LINK_NAME или DIRECTORY на указанную ЦЕЛЬ.
- загрузитьшрифт
- загрузитьkmap
- регистратор
- войти — начать новый сеанс в системе
- имя_журнала
- logread
- проиграть
- лпд
- лпк
- лпр
- ls — Список файлов или папок
- lsattr
- lsmod
- lzmacat
- lzop
- lzopcat
- мейкмим
- мужчина
- md5sum
- mdev — похоже на udev
- сообщение
- микроком
- mkdir — Создать папку
- mkdosfs
- mkfifo
- mkfs.minix
- mkfs.vfat
- мкнод
- mkpasswd
- mkswap
- mktemp
- модпроб
- еще — Просмотр ФАЙЛА или стандартного ввода по одному экрану за раз
- mount — Монтировать файловые системы
- точка монтирования
- мт
- mv — переместить файл
- имяif
- nc — сетевой швейцарский армейский нож.
- netstat — Отображение сетевой информации.
- хороший
- нметр
- нет
- nslookup
- нтпк
- ntpsync
- nvram
- од
- openvt
- пароль
- пластырь
- пгреп
- pidof — Список PID всех процессов с именами, соответствующими ИМЕНАМ
- пинг6
- ping — отправка пакетов ICMP ECHO_REQUEST на сетевые хосты
- pipe_progress
- pivot_root
- pkill
- popmaildir
- printenv
- printf
- ps — Сообщить о состоянии процесса
- pscan
- pwd — Распечатать рабочий каталог
- raidautorun
- дата
- рдев
- читатьссылка
- readprofile
- реформа
- Ренице
- перезагрузить
- изменить размер
- rm — Стереть файл
- rmdir — Удалить каталог
- рммод
- маршрут
- об/мин
- rstats — Авторские права BusyBox
- рх
- сценарий
- сценарийповторить
- sed — Редактор текстового потока
- отправить почту
- последовательность
- setarch
- setconsole
- установитьшрифт
- ш
- sha1sum — вычисление и проверка дайджеста сообщения SHA-1
- sha256sum — вычисление и проверка дайджеста сообщения SHA-256
- sha512sum
- шоукей
- слаттач
- sleep — приостановить выполнение программы на указанное время
- мягкий предел
- сортировать
- расколоть
- стат
- струны
- stty — изменение и печать настроек линии терминала
- su — Выполнение команд с привилегиями другой учетной записи пользователя
- сумма — контрольная сумма и количество блоков в файле
- св
- switch_root
- синхронизация — запись всех буферизованных блоков файловой системы на диск
- tac — Объединить и вывести файлы в обратном порядке строк
- tail — Вывод последнего файла
- смола
- tee — Отправить вывод в несколько файлов
- тест — Встроенная оценка
- время
- вершина
- touch — Обновить дату последнего изменения указанного ФАЙЛА[ов]
- tr — Перевести или удалить символы
- истинный
- телетайп
- udhcpc — Маленький DHCP-клиент
- umount — Размонтировать файловые системы
- uname — Отображение системной информации
- время безотказной работы — показывает, как долго работает система.
- uudecode
- uuencode
- usleep — Пауза на N [микросекунд]
- vconfig — программа настройки VLAN (802.1q)
- vlock — программа блокировки виртуальной консоли
- vi — (визуально) Редактировать ФАЙЛ
- volname — Возвращает имя тома
- watch — Периодически выполнять программу
- watchdog — Программный сторожевой демон
- wc — Количество слов, строк, байтов или символов
- which — Показывает полный путь к командам (shell)
- кто — Отображение того, кто находится в системе
- whoami — Распечатать эффективный идентификатор пользователя
- xargs — Создание списков аргументов и вызов утилиты
- да — для повторной печати строки
- zcat — Распаковать в stdout
Примеры
Программы, включенные в BusyBox, можно запустить, просто добавив их имя в качестве аргумента в исполняемый файл BusyBox:
/bin/busybox ls
Чаще всего нужные имена команд связаны (с помощью жестких или символических ссылок) с исполняемым файлом BusyBox; BusyBox считывает argv[0], чтобы найти имя, по которому он вызывается, и запускает соответствующую команду, например, просто
/bin/ls
после того, как /bin/ls связан с /bin/busybox . Это работает, потому что первый аргумент, переданный программе, — это имя, используемое для вызова программы, в этом случае аргумент будет "/bin/ls". BusyBox увидит, что его "имя" — "ls", и будет действовать как программа "ls".
Техника и прием
BusyBox используется несколькими операционными системами, работающими на встраиваемых системах , и является важным компонентом таких дистрибутивов, как OpenWrt , OpenEmbedded (включая Yocto Project ) и Buildroot . Sharp Zaurus широко использует BusyBox для обычных задач , подобных Unix, выполняемых на оболочке системы. [42]
BusyBox также является важным компонентом VMware ESXi , Tiny Core Linux , SliTaz 5(Rolling) и Alpine Linux , которые не являются встроенными дистрибутивами.
Он необходим для работы нескольких приложений root на Android, а также предустановлен в некоторых решениях «1 Tap Root», таких как Kingo Root .
Споры вокруг Toybox
Toybox был запущен в начале 2006 года под лицензией GPL-2.0-only бывшим сопровождающим BusyBox Робом Лэндли в результате споров вокруг обсуждений GPLv3/GPLv2. В конце 2011 года [43] он был перелицензирован под лицензией BSD-2-Clause после того, как проект был заморожен. [44] В марте 2013 года он был снова перелицензирован под лицензией 0BSD . [45] 11 января 2012 года Тим Берд, сотрудник Sony , предложил создать альтернативу BusyBox, которая не будет под GNU General Public License. Он предложил, чтобы она была основана на замороженном Toybox. [46] В январе 2012 года предложение о создании альтернативы BusyBox с лицензией GPL под лицензией BSD вызвало резкую критику со стороны Мэтью Гарретта за то, что оно отняло единственный релевантный инструмент для обеспечения соблюдения авторских прав у группы Software Freedom Conservancy . [47] Инициатор судебных исков, связанных с BusyBox, Роб Лэндли ответил, что это было сделано намеренно, поскольку он пришел к выводу, что судебные иски не привели к ожидаемым положительным результатам, и он хотел остановить их «любым способом, который посчитает нужным» . [48] [49]
Смотрите также
Ссылки
- ^ "Домашняя страница Эрика Андерсена". Архивировано из оригинала 13 июня 2010 г. Получено 23 декабря 2009 г.
- ↑ Активные проекты. Архивировано 29 июля 2010 г. на сайте Wayback Machine Роба Лэндли .
- ↑ Денис Власенко Архивировано 5 сентября 2017 г., Wayback Machine , BusyBox Maintainer
- ^ "busybox-complaint-2009-12-14" (PDF) . Software Freedom Law Center. Архивировано из оригинала (PDF) 24 сентября 2015 г. . Получено 30 июня 2022 г. .
- ^ "BusyBox 1.36.1 (стабильная)".
- ^ ab "BusyBox". Архивировано из оригинала 24 февраля 2018 г. Получено 23 февраля 2018 г.
- ^ "busybox-1.2.2.1.tar.bz2". Архивировано из оригинала 31 марта 2022 г. Получено 29 июня 2021 г.
Из журнала изменений:
Это последний выпуск BusyBox под старой двойной лицензией "GPLv2 или более поздняя версия". Будущие версии (содержащие изменения после svn 16112) будут просто GPLv2, без "или более поздняя версия".
- ^ BitCubate X. "BusyBox Classic". Архивировано из оригинала 27 октября 2022 г. Получено 8 августа 2017 г.
- ^ "Детали порта". Архивировано из оригинала 9 июля 2023 г. Получено 27 сентября 2024 г.
- ^ "Источник слогана для 'Швейцарского армейского ножа встроенного Linux'". Архивировано из оригинала 24 февраля 2018 г. Получено 23 февраля 2018 г.
- ^ Лэндли, Роб. "BusyBox forensic analysis" (TXT) . Архивировано из оригинала 25 октября 2021 г. Получено 11 ноября 2022 г.
- ^ ab Брюс Перенс (15 декабря 2009 г.). "Заявление о судебных исках Busybox". Архивировано из оригинала 20 декабря 2009 г.
- ^ ab Corbet, Jonathan (1 октября 2006 г.). "Busy busy busybox". LWN.net . Архивировано из оригинала 7 января 2016 г. Получено 21 ноября 2015 г. Поскольку
BusyBox можно найти во многих встроенных системах, он оказался в центре дебатов против DRM
GPLv3
. [...] Однако реальный результат таков: BusyBox будет GPLv2 только начиная со следующего релиза. Общепринято, что удаление "или любой более поздней версии" юридически оправдано, и что слияние другого кода, выпущенного только под GPLv2, в любом случае приведет к решению этой проблемы
- ^ Landley, Rob (9 сентября 2006 г.). "Re: Move GPLv2 vs v3 fun…". lwn.net. Архивировано из оригинала 16 сентября 2017 г. Получено 21 ноября 2015 г. Пожалуйста
, не придумывайте несуществующий аргумент. Я считаю лицензирование BusyBox по GPLv3 бесполезным, ненужным, чрезмерно сложным и запутанным, и вдобавок к этому у него есть реальные недостатки. 1) Бесполезно: мы никогда не откажемся от GPLv2.
- ^ GPL версии 2 только для BusyBox 1.3.0. Архивировано 14 сентября 2016 г. на Wayback Machine на lwn.net
- ↑ Лэндли, Роберт (30 сентября 2006 г.). «Я сейчас ухожу. Возможно, я еще буду». busybox (список рассылки). Архивировано из оригинала 18 июля 2016 г. Получено 21 июля 2016 г.
- ^ ab От имени разработчиков BusyBox Андерсена и Лэндли SFLC подает первый в истории иск о нарушении US GPL Архивировано 6 октября 2007 г. в Wayback Machine (Software Freedom Law Center, 20 сентября 2007 г.)
- ↑ Байфилд, Брюс (30 октября 2007 г.). «Урегулирование в деле Busybox-Monsoon GPL достигнуто». Linux.com . Архивировано из оригинала 24 сентября 2008 г.
- ↑ Команда юристов Linux подала в суд из-за нарушений GPL. Архивировано 13 декабря 2007 г. на Wayback Machine (Мартин ЛаМоника, CNET News.com, 21 ноября 2007 г.)
- ^ "Второй раунд исков о нарушении GPL, поданных от имени разработчиков BusyBox". Архивировано из оригинала 24 ноября 2007 г. Получено 25 ноября 2007 г.
- ^ "BusyBox Developers and Xterasys Corporation Agree to Settle GPL Lawsuite". Архивировано из оригинала 19 декабря 2007 г. Получено 18 декабря 2007 г.
- ↑ Разработчики BusyBox и антенны с высоким коэффициентом усиления согласились отклонить иск по GPL. Архивировано 9 марта 2008 г. на Wayback Machine (пресс-релиз SFLC)
- ↑ Гросс, Грант (7 декабря 2007 г.). «Юридическая группа с открытым исходным кодом снова наносит удар по BusyBox, подавая в суд на Verizon». Computerworld . Архивировано из оригинала 6 апреля 2024 г. Получено 27 сентября 2024 г.
- ^ "Разработчики BusyBox подали иск о нарушении GPL против Verizon Communications". Архивировано из оригинала 30 декабря 2007 г. Получено 22 декабря 2007 г.
- ↑ Verizon урегулировала судебный процесс по программному обеспечению с открытым исходным кодом. Архивировано 21 марта 2008 г. на Wayback Machine (Пол Макдугелл, InformationWeek , 17 марта 2008 г.)
- ↑ SFLC подает еще один раунд исков о нарушении GPL от имени разработчиков BusyBox. Архивировано 11 июня 2008 г. на Wayback Machine (пресс-релиз SFLC)
- ↑ Разработчики BusyBox и Supermicro договорились прекратить судебный процесс по GPL: добросовестные обсуждения привели к отклонению дела о нарушении авторских прав. Архивировано 27 июля 2008 г. на Wayback Machine (пресс-релиз SFLC)
- ↑ 2008. Andersen v. Bell Microproducts, Inc. , № 08-cv-5270, документ № 16 (SDNY 17 октября 2008 г.) (уведомление о добровольном увольнении)
- ^ Перлоу, Джейсон (16 декабря 2009 г.). «Как избежать современных публичных порок GPL». ZDNet . Архивировано из оригинала 13 марта 2016 г. Получено 24 марта 2016 г. Публичных
порок и казней, подобных недавнему иску SFLC, можно было бы избежать, если бы на самом деле существовали реальные стандарты и процедуры соответствия GPL и другим лицензиям Free и Open Source.
- ^ Эндрю Нуска. «Best Buy, Samsung, Westinghouse и еще 11 названы в иске GPL». cnet.com .
- ^ «Software Freedom Conservancy, Inc. и г-н Эрик Андерсен против BestBuy, Samsung, Westinghouse, JVC, Western Digital, Bosch, Phoebe Micro, Humax, ...» (PDF) . 19 января 2017 г. Архивировано из оригинала (PDF) 25 мая 2024 г.
- ^ Visual Display - Open Source на samsung.com "Пожалуйста, загрузите ссылки ниже. Мы используем GPLv2 и LGPLv2.1, а не GPLv3 и LGPLv3. Модель: LN40A650 / LN52A650 / LN52A750 [...] LN52A750.zip" (архив 2010 г.)
- ^ Main_Page Архивировано 16 февраля 2017 г. в Wayback Machine на samygo.tv
- ↑ Джонс, Памела (3 августа 2010 г.). «BusyBox и GPL снова преобладают — обновленные 4Xs». Groklaw . Архивировано из оригинала 4 августа 2010 г. Получено 27 сентября 2012 г.
- ^ "ash variations". Архивировано из оригинала 10 марта 2010 г. Получено 15 мая 2008 г.
- ^ "Используйте новую опцию 'select' для создания конфигурации оболочки". 8 августа 2003 г. Архивировано из оригинала 1 апреля 2019 г. Получено 2 апреля 2019 г. Оболочка
'ash' добавляет около 60k в конфигурацию по умолчанию и является наиболее полной и наиболее педантично правильной оболочкой, входящей в busybox. Эта оболочка на самом деле является производной от
оболочки Debian 'dash'
(автора Herbert Xu), которая была создана путем портирования оболочки 'ash' (автора Kenneth Almquist) из NetBSD.
- ^ "BusyBox – швейцарский армейский нож встраиваемого Linux". Архивировано из оригинала 2 февраля 2018 г. Получено 23 февраля 2018 г.
- ^ "BusyBox упрощает встроенные системы Linux: небольшой набор инструментов для небольших сред". IBM . Архивировано из оригинала 9 декабря 2008 г.
- ^
crunchgen(1)
– Руководство по основным командам FreeBSD - ^ Thayer, Doug; Miller, Keith (16–17 апреля 2004 г.). «Четыре программы UNIX в четырех коллекциях UNIX: поиск согласованности в иконке с открытым исходным кодом» (PDF) . Труды симпозиума по обучению и вычислениям на Среднем Западе . Университет Миннесоты, Моррис. Архивировано (PDF) из оригинала 3 октября 2011 г. . Получено 5 декабря 2011 г. .
- ^ "BusyBox Command Help". Архивировано из оригинала 2 февраля 2018 г. Получено 24 февраля 2013 г.
- ^ "Linux on the Road". Архивировано из оригинала 7 сентября 2018 г. Получено 27 августа 2018 г.
- ^ Лэндли, Роб. "License change commit". Репозиторий Toybox mercurial . Архивировано из оригинала 24 июля 2015 г. Получено 24 июля 2015 г.
- ^ "Toybox news". Архивировано из оригинала 9 сентября 2015 г. Получено 14 сентября 2015 г.
- ^ Лэндли, Роб. «Упростите текст лицензии, как указано в списке рассылки». Репозиторий Toybox Mercurial . Архивировано из оригинала 28 июля 2021 г. Получено 29 июня 2021 г.
- ^ "Проект замены Busybox". 11 января 2012 г. Архивировано из оригинала 18 февраля 2015 г. Получено 4 марта 2014 г.
- ^ "Garrett: Продолжающаяся борьба с соблюдением GPL". LWN.net . 31 января 2012 г. Архивировано из оригинала 14 сентября 2016 г. Получено 4 марта 2014 г. Реальная
проблема здесь в том, что зависимость [Software Freedom Conservancy] от Busybox означает, что они могут преследовать только нарушителей, которые используют этот код Busybox. Ни один из значимых владельцев авторских прав на ядро до сих пор не предложил SFC обеспечить соблюдение своих авторских прав, в результате чего меры по обеспечению соблюдения будут прекращены, поскольку поставщики перейдут на эту замену Busybox.
- ^ "Garrett: Продолжающаяся борьба с применением GPL". LWN.net . 31 января 2012 г. Архивировано из оригинала 14 сентября 2016 г. Получено 4 марта 2014 г. >
Как бывший разработчик busybox, который НАЧАЛ эти судебные иски в первую очередь и теперь ОЧЕНЬ ЖАЛЕЕТ, что когда-либо это сделал, я думаю, что имею право прекратить судебные иски любым способом, который я сочту нужным. Они так и не привели к добавлению ни одной строки кода в репозиторий busybox. Они ПРИВЕЛИ к тому, что более чем одна компания полностью прекратила разработку Linux и перешла на операционные системы, отличные от Linux, для своих встраиваемых продуктов, и они являются большой частью причины политики Android "Никакой GPL в пользовательском пространстве".
- ^ Проффитт, Брайан (2 февраля 2012 г.). «Принудительное исполнение GPL разжигает огонь в обществе — выплескиваем ребенка GPL вместе с водой из ванны принуждения?». ITworld. Архивировано из оригинала 7 января 2016 г. Получено 4 марта 2015 г.
Дальнейшее чтение
- Перенс, Брюс (1 ноября 2000 г.). «Создание крошечных систем Linux с BusyBox — часть I». Linux Journal . Архивировано из оригинала 22 ноября 2015 г. . Получено 22 ноября 2015 г. .
- Джонс, М. Тим (15 августа 2006 г.). «Busybox упрощает встроенные системы Linux». Developer Works . IBM.
Внешние ссылки
В Wikibook Learning the vi Editor есть страница на тему: BusyBox vi.