Системные администраторы и пользователи Linux-систем, несомненно, привыкли к работе со своей любимой командной оболочкой и к стандартным программным средствам. Но их повсеместное использование не всегда возможно. И тогда на помощь приходит BusyBox – упрощенный shell с набором компактных системных средств.
BusyBox: что это такое и кому это нужно?
Несмотря на безудержный рост графических оболочек и «дружелюбных» интерфейсов, представить себе UNIX без командной строки и основных утилит в наши дни невозможно. Многочисленные интерпретаторы и базовые системные утилиты не стоят на месте, растут и развиваются, что неизбежно ведет и к увеличению их объема. В то же время существуют сферы деятельности, в которых компактность любых приложений по очевидным причинам очень важна, например, во встраиваемых устройствах. Вместе с тем во многих случаях не требуется значительная часть той функциональности, которая присуща базовым утилитам «общего назначения».
Для решения этих проблем еще в середине 90-х Брюсом Перенсом (Bruce Perens) был создан пакет BusyBox. Сейчас проект позиционируется как «швейцарский нож для встраиваемых Linux-систем» и в первую очередь ориентирован на использование в небольших дистрибутивах GNU/Linux. Распространяется под второй версией лицензии GNU GPL.
BusyBox представляет собой единственный исполняемый файл, при запуске которого загружается полноценный командный интерфейс. Как гласит официальная документация BusyBox, для формирования минимальной версии GNU/Linux к этому достаточно добавить лишь ядро ОС и каталоги /etc, /dev.
Что же внутри BusyBox.
Помимо альтернативного набора coreutils (ls, cat, mv, cp, rm, chmod, df, ln, date, wc, nice, test...) в состав BusyBox входит и множество других программ.
Среди них, во-первых, стоит выделить наличие нескольких минималистских командных оболочек: ash (ответвление от dash из Debian, основанного на ash из NetBSD; рекомендован для использования с BusyBox), hush (понимает грамматику Bourne shell), lsh , msh (minix shell).
Для работы с архивами есть такие утилиты, как tar, gzip, bzip2, ar, zip, rpm, dpkg. Для обработки содержимого файлов есть как awk, sed, patch, так и текстовые редакторы ed и vi.
Ничего удивительного что BusyBox стал основной для компактных версий сетевых мини-ОС типа OpenWRT или RouterOS. Хотя утверждение касательно RouterOS спорно.
Также BusyBox легко нашел применение и качестве операционной начинки для домашних WiFi-роутеров. Вот наглядный пример с ASUS RT-N12D1.
Увидимся.
No comments:
Post a Comment
А что вы думаете по этому поводу?