ПредишенСледващото

BusyBox: Швейцарската армия нож за вградени Linux-базирани системи

Системните администратори и потребители на UNIX / Linux-системи, разбира се, свикнали да работят с любимата си команден шел и към стандартния софтуер. Но тяхното широко използване не винаги е възможно. И тогава идва на BusyBox за помощ - опростена черупка с набор от компактни системни инструменти.

BusyBox: какво е това и защо имате нужда?

Въпреки ширещата растежа на графични обвивки и "приятелски" интерфейс, представете си UNIX команден ред и без основни комунални услуги днес не е възможно. Многобройни преводачи и основни системни инструменти не са застанали неподвижно, растат и се развиват, което неминуемо води до увеличаване на обема им. В същото време има и сфери на дейност, в която компактността на всяко приложение, по очевидни причини, важно е, например, в областта на вградените устройства. Въпреки това, в много случаи не се нуждае от значителна част от функционалността, която е присъща на основни комунални услуги "обща цел".

За решаването на тези проблеми още в средата на 90-те години на Bruce Перенс (Bruce Перенс) BusyBox пакет е създаден [1]. Проектът вече е определяна като "швейцарски армейски нож за вградени Linux-базирани системи" и е насочена предимно за използване в малки GNU / Linux дистрибуции. Разпределени в рамките на втората версия на GNU GPL.

BusyBox е един изпълним файл, който се зарежда, когато стартирате пълен интерфейс на командния ред. Тъй като официалната документация на BusyBox, за формиране на минимална версия на GNU / Linux това е достатъчно, за да добавите само OS ядрото и директории / и т.н., / Dev.

Двоични пакети с BusyBox за най-популярните GNU / Linux дистрибуции са на разположение в съответните хранилища, както и архива на източника - интернет страницата на проекта [2]. В статията се обсъжда освобождаването на BusyBox v1.5.0. Една от основните цели, преследвани от BusyBox разработчици, - оптимизация и компактен код - изчисляването на ограниченията на паметта. Тя не само говори отново за предимствата на използването му в областта на вградените устройства, но също върви добре с по-различен подход в духа на UNIX начин: високо ниво на персонализация (в BusyBox двоичен файл могат да бъдат включени само най-необходимите компоненти).

Дори и на етапа на компилация (или по-скоро, за процеса на сглобяване) само основни инструменти, които можете да избирате, че са необходими. Тя се осъществява в конфигурацията на ядрото стил Linux. Вместо по-често средата беше събрана от Automake пътя на приложения под формата на «конфигуриране» BusyBox скрипт за предварително конфигуриране, необходими за извършване на една от следните команди:

Аргументът на "довереник" инициира стартирането на "въпросник" със списък на наличните възможности и основни комунални услуги, като предлага да постави «Y" или "N» на мястото на необходими и излишни функции, съответно.

Аргумент «menuconfig» причинява по-удобна конфигурация на меню-базиран интерфейс проклятия (вж. Фиг. 1).

Фигура 1. Инсталиране BusyBox: «направи menuconfig» по начина на Linux-ядрото

«Defconfig" аргумент автоматично включва всички налични опции в подготовка за монтаж BusyBox «общо предназначение».

Точно както в случая на ядрото на Линукс, след настройка създава конфигурационен файл .config един, който след това винаги може да се върне в отбора:

Това е вярно, когато се движат до по-нова версия на BusyBox към старата конфигурация (така, че конфигурацията на работа се появи само в следващата версия на опциите).

По подразбиране, ако повикването към «направи menuconfig» .config файл не съществува, да направи автоматично ще отпреди започва с аргумент «defconfig». По този начин потребителят ще деактивира само нежелани функции. При условие и опция да върне: тичане направи с «allnoconfig» деактивира всички опции, за да само това, което е необходимо, за да бъде в състояние да изберете след това.

Освен това, всички традиционно:

$ Sudo направи инсталиране

Работа с BusyBox

Започвайки BusyBox обвивка може да се извърши с помощта на:

За една покана на функция (обикновено функция на BusyBox ограничени възможности за прилагане на един от инструментите от coreutils GNU, Util-Linux и други стандартни пакети), можете да използвате командата:

$ BusyBox <функция> [Дело]

Ето, например:

Той показва текущата обвивка (например, Баш) резултат от командата «LS -l /» в BusyBox (вж. Фиг 0.2).

Фигура 2. BusyBox от: LS

$ Busybox --help <функция>

Това е от особено значение с оглед на факта, че основните комунални услуги, като част от BusyBox са ограничени в своите способности, така че списъкът с налични знамена ще бъде различен от тези, свикнали да виждате всички стандартни удобства.

Освен алтернативни поставените coreutils (LS, котка, СрН, кп, RM, коригирате, DF, LN, дата, тоалетна, хубаво, тест.) Включените в Busybox и много други програми.

Сред тях на първо място, е да се осигури множество минималистични черупки: пепел (60 Kb; клон от пробив на Debian, въз основа на съдържанието на пепел на NetBSD, не се препоръчва за употреба с BusyBox), тишина (18 Kb; разбира Борн граматика черупка) LSH (само 10 KB, само най-лесният функционалност), MSH (30 KB; Minix обвивка).

Фигура 3. Въвеждане на основните скриптове BusyBox

Голяма точка в списък с всички функции BusyBox не виждат, следователно, се ограничават до прости статистика. В построеното от мен BusyBox от Gentoo Linux Portage представени 241 функция (но това не включва всичко, което се осъществява в рамките на настоящия проект). Ако ние считаме, например, LS, а след това BusyBox версия на тази програма е на разположение 26 знамена, както е в оригинала, в моя случай (в логистичните резерви на GNU coreutils 6.7) - 55 (без да броим "помощ" и "версия"). на първо място сред липсващите флагове могат да се разграничат:-Q (името в кавички), -м (разделени със запетая списък), -U и Г (изход без сортиране на списъка). Други, по мое мнение, е още по-значимо. Общи тенденции, според мен, е очевидно.

Фигура 4. мрежови инструменти, за да «направи menuconfig» BusyBox

Важно е да се вземе предвид спецификата на BusyBox, а именно - да го позиционира и действителната ключова цел: за използване в среди с тежки ограничения в паметта, не се нуждаят от това, че усъвършенстваните функции, породен от модерни основни комунални услуги на системата.

Кой използва BusyBox

BusyBox е намерил приложение в системи като Познати Linux (за PDA устройства) и MoviX (популярен компактен разпределение с набор от мултимедийни Open Source решения) в инсталационната Debian, Gentoo, Red Hat, Mandriva и други проекти, както и много Linux-базирани устройства (Sharp Zaurus, рутери, AP.).

Подкрепете проекта - споделете линка, благодаря!