BusyBox

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
BusyBox
Скріншот BusyBox
Тип Independent SUSp XCU implementation
Розробники Ерік Андерсен, Роб Лендлі, Денис Власенко та ін.
Перший випуск 4 листопада 1999[1]
Стабільний випуск 1.26 (20 грудня 2016; 7 років тому (2016-12-20))
Операційна система Linux, Unix-подібні
Мова програмування C
Ліцензія GNU GPL v2 тільки
Репозиторій git.busybox.net/busybox
Вебсайт busybox.net

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

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

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

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

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

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

  • ash[en] — командна оболонка
  • 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.

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

  1. Архівована копія. Архів оригіналу за 30 жовтня 2015. Процитовано 28 березня 2012. 
  2. http://www.busybox.net/about.html [Архівовано 9 лютого 2014 у Wayback Machine.] The slogan for 'The Swiss Army Knife of Embedded Linux' source
  3. Busy Box License. Архів оригіналу за 1 вересня 2015. Процитовано 2 січня 2014. 
  4. Архівована копія. Архів оригіналу за 6 січня 2014. Процитовано 2 січня 2014. 
  5. Архівована копія. Архів оригіналу за 6 березня 2012. Процитовано 2 січня 2014. 
  6. Архівована копія. Архів оригіналу за 6 січня 2014. Процитовано 2 січня 2014. 
  7. Архівована копія. Архів оригіналу за 2 січня 2014. Процитовано 2 січня 2014. 
  8. The Open Group Base Specifications Issue 6. Архів оригіналу за 27 грудня 2017. Процитовано 1 січня 2014. 
  9. Linux Test Project на SourceForge.net

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