BusyBox

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
BusyBox
BusyBoxLogo.png
Busybox DG834Gt.PNG

Скріншот BusyBox
Тип Independent SUSp XCU implementation
Розробник(и) Erik Andersen, Rob Landley, Denis Vlasenko
Перший випуск 4 листопада 1999[1]
Стабільний випуск 1.26 (20 грудня 2016; 160 днів тому )
Версії 1.24.1[2], 1.24.2[3], 1.25.1[4], 1.26[5] і 1.26.2
Репозиторій busybox.net/busybox.git
Операційна система Linux, Unix-подібні
Написано на C
Ліцензія GNU GPL v2 тільки
Веб-сайт busybox.net

CMNS: BusyBox на Вікісховищі

BusyBox — набір UNIX-утиліт командного рядка (у вигляді одного файлу), котрий є майже повним POSIX-середовищем для вбудованих та інших систем з невеликим обсягом доступного місця. Переваги — малий розмір та низькі вимоги до апаратури. Автори називали його "швейцарським ножем вбудованого Linux",[6] оскільки один виконуваний файл заміняє понад 300 загальних команд. Випущений як вільне програмне забезпечення на умовах GNU General Public License.[7]

BusyBox працює на великому числі різних POSIX-середовищ, таких як Linux (включаючи Android),[8][9][10] FreeBSD[11] і на різних власницьких ядрах, хоча багато з цих інструментів з набору спроектовані для роботи з інтерфейсом ядра Linux.

Розробка BusyBox була розпочата в 1996 Брюсом Перенсом з метою оптимізації розміру і з урахуванням обмежених ресурсів. У той же час система є досить гнучкою і модульною (в момент компіляції можна включити/виключити всі необхідні компоненти). Проект повільно рухається до повної реалізації Single UNIX Specification V3[12], яка поки не досягнута. Також проект зацікавлений у проходженні тесту Linux Test Project.[13]

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

Команди[ред.ред. код]

  • ash — командна оболонка
  • awk — мова обробки рядків за шаблонами
  • cat — прочитати файл
  • chmod — змінити права
  • cp — копіювати
  • date — поточні дата та/або час
  • dd — копіювати файл з конвертацією і форматуванням
  • df — вивести статистику використання файлової системи
  • dmesg — вивід буфера повідомлень ядра
  • echo — вивести рядок
  • egrep — grep з підтримкою розширених регулярних виразів
  • fgrep — grep з оптимізованим пошуком фіксованого рядка
  • grep — шукати по шаблону в кожному файлі або стандартному вводі
  • gunzip — розпакувати з gzip
  • gzip — упакувати в gzip
  • kill — завершити процес
  • init
  • ln — створити link з назвою LINK_NAME або DIRECTORY прив'язаний до вказаного TARGET.
  • login — почати нову сесію у системі
  • ls — список файлів і тек
  • mdu
  • mdev — akin to udev
  • mkdir — створити теку
  • more — переглянути файл або стандартний вивід на одному екрані за раз, а не довгим списком зі скролом
  • mount — змонтувати файлову систему
  • mv — видалити файл

Цікаві факти[ред.ред. код]

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

Для виробників, які не бажають відкривати сирцеві тексти модифікованих компонентів, у рамках проекту Toybox розвивається аналог BusyBox, поширюваний під ліцензією BSD (2 clause). За можливостями Toybox поки відстає від BusyBox.

Виноски[ред.ред. код]

Посилання[ред.ред. код]