что такое busybox? и как им пользоваться.
здравствуйте.просветите пожалуйста,что такое BusyBox?я понял что это набор основных утилит linux вроде как,а как им пользоваться,как установить или что с ним вообще можно делать?заранее извиняюсь,если че-то не так написал.
dimitry80
29.10.10 07:27:45 MSD
busybox ps
busybox rm -rf /
и так далее.
Либо ln -s `which busybox` ps, те оно определит, какую утилиту запускать по cmdline.
Я так предположу, что man apt-get.
anon_666 ★
( 29.10.10 07:42:08 MSD )
Ответ на: комментарий от anon_666 29.10.10 07:42:08 MSD
ну я вот скачал файл busybox-1.17.3.tar.bz2 с сайта busybox.net,открыл его посмотрел..и что с ним делать надо?
dimitry80
( 29.10.10 07:54:30 MSD ) автор топика
Ответ на: комментарий от dimitry80 29.10.10 07:54:30 MSD
как-то его видимо установить надо что ли?
dimitry80
( 29.10.10 07:55:20 MSD ) автор топика
Ответ на: комментарий от dimitry80 29.10.10 07:54:30 MSD

darth-nerd ★
( 29.10.10 07:57:13 MSD )
Ответ на: комментарий от darth-nerd 29.10.10 07:57:13 MSD
Это ты зря, тред теперь затянется..
anon_666 ★
( 29.10.10 07:58:40 MSD )
Ответ на: комментарий от dimitry80 29.10.10 07:54:30 MSD
Какая у вас система(дистрибутив)?
anon_666 ★
( 29.10.10 07:59:33 MSD )
Это для очень маленьких инсталляций, где каждый килобайт на вес золота. Также часто используется в initrd. Для десктопа/полноценного сервера не нужно. Если вы не понимаете, зачем оно надо, вам оно не надо.
Legioner ★★★★★
( 29.10.10 08:00:21 MSD )
Ответ на: комментарий от dimitry80 29.10.10 07:54:30 MSD

>ну я вот скачал файл busybox-1.17.3.tar.bz2 с сайта busybox.net,открыл его посмотрел..и что с ним делать надо?
вот смотри. распакуй его. там есть такой файлик README. в переводе на наш язык «ЧИТАЙМЕНЯ». В нем есть все инструкции. А большими буквами он написан для того, чтобы такие как ты его не пропускали, но походу там откуда вы приходите ни глаза, ни внимательность не выдают.
зы там есть еще файлик INSTALL
gear ★★★
( 29.10.10 10:29:02 MSD )
Ответ на: комментарий от gear 29.10.10 10:29:02 MSD
после выполнения команд make menuconfig (создал,настроил что надо) и команды make мне в этой же директории откуда я запускал эти команды создался файлик busybox. я понимаю что могу его использовать для выполнения разных команд в формате,например: ./busybox uname -a и напишется мне версия ядра..а как вообще его этот файлик надо в дальнейшем использовать правильно? он по сути может заменить содержимое папки bin? (ну если ссылаться на него всегда?)
dimitry80
( 29.10.10 11:35:15 MSD ) автор топика
Ответ на: комментарий от dimitry80 29.10.10 11:35:15 MSD
Введите
busybox —help
Оно покажет, какие команды(утилиты) доступны.
anon_666 ★
( 29.10.10 11:47:40 MSD )
Ответ на: комментарий от dimitry80 29.10.10 11:35:15 MSD
>по сути может заменить содержимое папки bin?
Встроенные в busybox утилиты малофункциональны по сравнению с coreutils, так что не совсем.
anon_666 ★
( 29.10.10 11:50:13 MSD )
Ответ на: комментарий от anon_666 29.10.10 11:50:13 MSD

не соглашусь насчет «малофункциональны», они скорее минимально-необходимо функциональны )
они предельно упрощены и не включают многие опции, в отличие от их полнофункциональных аналогов из coreutils, util-linux и других пакетов, но все же типичные ключи использования там есть , для типичного применения их вполне хватает.
Sylvia ★★★★★
( 29.10.10 11:55:11 MSD )
Ответ на: комментарий от dimitry80 29.10.10 11:35:15 MSD

>может заменить содержимое папки bin
частично, хотя в типичном дистрибутиве в /bin можно найти гораздо больше чем предоставляет busybox
cфера применения — в системах где мало памяти и дискового пространства (роутеры, embedded) , второй вариант — если вы в системе что-то поломали, то для восстановления можно использовать альтернативный вариант в виде busybox , особенно если он слинкован статически.
Sylvia ★★★★★
( 29.10.10 11:58:20 MSD )
Ответ на: комментарий от Sylvia 29.10.10 11:55:11 MSD

Интересно бывают десктопные дистры с busibox на борту? и уж тогда и uGlibc (правильно назвал?) Может для большинства пользователей уже busibox достаточно?
baaba ★★★
( 29.10.10 11:59:52 MSD )
Ответ на: комментарий от Sylvia 29.10.10 11:55:11 MSD
Даже в слаке init-скрипты написаны с использованием башизмов,
те, в busybox они не отработают.
Ну и тд.
anon_666 ★
( 29.10.10 12:04:08 MSD )
Ответ на: комментарий от baaba 29.10.10 11:59:52 MSD

uclibc не полностью способна заменить glibc для всех приложений,
интересно бы было узнать. а удавалось ли кому собрать полнофунциональный десктоп на uClibc, с кде, гномом и прочими делами ? в генте есть профиль для uClibc , для желающих экспериментировать.
дистры бывают, особенно минималистичные типа tinycore, «большие» дистрибутивы тоже могли бы использовать, но если дистр при установке занимает 3 Gb и около 200-300 мб в памяти после загрузке, то нет смысла экономить на мелочах типа coreutils или util-linux, там уже ставятся полные версии.
Sylvia ★★★★★
( 29.10.10 12:05:19 MSD )
Ответ на: комментарий от anon_666 29.10.10 12:04:08 MSD

башизмы это отдельная тема вообще )
кстати slackware rescue (12-13.0) базировалась на busybox , что доставляло определенные неудобства, например с tar, который в busybox не совсем корректно сохраняет права доступа
BusyBox – расширяем возможности root-доступа на Андроиде
Илья – главный редактор сайта softdroid.net. Является автором нескольких сотен руководств и статей по настройке Android. Около 15 лет занимается ремонтом техники и решением технических проблем iOS и Android. Имел дело практически со всеми более-менее популярными марками мобильных смартфонов и планшетов Samsung, HTC, Xiaomi и др. Для тестирования используется iPhone 12 и Samsung Galaxy S21 с последней версией прошивки.
Сегодня мы поговорим об еще одной системной утилите BusyBox. Она позволяет успешно запускать и работать приложениям, включающим в себя функции обращения к ядру системы Android после рутирования мобильного гаджета.
Для чего Андроиду нужен BusyBox и что он собой представляет?
После предоставления устройству расширенных прав (другим словом, root-доступа), задействующие их приложения нередко обращаются к ядру вашей android-прошивки, что порой может привести к непредсказуемым результатам, поскольку при запуске системных библиотек из внешнего приложения напрямую с помощью определенных команд может произойти потеря данных, взлом или сбой в работе ОС. Для надежного и бесперебойного обращения таких приложений к ядру системы нужно позаботиться о надежном канале обмена данными (или интерфейсе) между пользователем и файловой системой. Такой интерфейс и обеспечивается набором консольных библиотек для Андроид под названием BusyBox.

Вдобавок, планка функциональности, удобства и производительности приложений с root-привилегиями заведомо понижается вследствие того, что движки к большей части таких программ были написаны на высокоуровневых языках программирования. И здесь БизиБокс предстает перед нами в самом выгодном свете, — ведь при его разработке использовался исключительно C.
Какие приложения требуют наличия Busybox?
К разряду приложений, нуждающихся в связке с представленным пакетом, относятся:
- Файловые менеджеры
- Средства для восстановления данных и очистки кэша
- Инструменты для переноса ресурсов на внешние карты памяти
- Утилиты для разгона ARM-процессора или видеочипа.
Для их оптимальной работы желательно также наличие SuperSU, поскольку именно этот мобильный апплет в силах грамотно обеспечивать контроль root-привилегий для каждой индивидуальной программы.
Как работать с пакетом?
По сути, BusyBox – это даже не программа, а унифицированный набор средств для передачи и приема данных от системного приложения к ядру среды и наоборот. Чтобы работать с пакетом, не нужно делать никаких манипуляций. Если системное приложение с root-правами затребует БизиБокс, перед вами тут же появится уведомление о необходимости инсталляции пакета, после чего в результате подтверждения установка произойдет автоматически.

При желании скачать BusyBox из Плей Маркета вручную, вы также вправе это сделать. Несколько версий BusyBox для Андроид имеется на популярном мобильном форуме 4pda. Помимо прочего, на 4pda.ru также выложена расширенная, платная, редакция root-менеджера под названеим busybox pro.
Установка рут-прав посредством приложения может быть выполнена несколькими способами: как интеллектуальная (smart) и обычная.

Smart-инсталляция BusyBox’а предоставляет возможность гибко кастомизировать развертку каждого индивидуального составного апплета, но такая функция доступна лишь в профессиональной версии BusyBox Pro.
Что включает в себя root-менеджер BusyBox?
Данный пакет состоит из нескольких десятков утилит, упрощающих доступ к данным на рутированном устройстве. Посмотреть на их список можно на одной из вкладок после инсталляции.

Как обращаться к программе?
Ручной доступ к вложенным утилитам обеспечивается при помощи эмулятора терминала командной строки Андроид, который можно скачать вот тут. Со списком доступных команд можно ознакомиться на страничке проекта в wiki.
Резюме. Программа busybox для Андроид станет ценным приобретением для пользователей файл-менеджеров с функциями обращения к ядру системы и любителей аппаратного разгона своего мобильного коммуникатора. Если вы пользуетесь кастомной прошивкой (MIUI, CyanogenMod), BusyBox вшит в нее по умолчанию. Перед инсталляцией советуем создавать резервную копию системного раздела во избежание сбоев или неработоспособности некоторых программ.
Как использовать BusyBox

Команды Linux всегда воспринимаются как должное. Они поставляются вместе с системой при установке Linux, и мы часто не задаемся вопросом, зачем они нужны. Некоторые из основных команд, такие как cd, kill и echo, не всегда являются независимыми приложениями, но фактически встроены в вашу оболочку. Другие, такие как ls, mv и cat, являются частью основного пакета служебных программ (часто специально для GNU coreutils). Но в мире открытого кода всегда есть альтернативы, и одна из самых интересных — BusyBox.
Что такое BusyBox?
BusyBox — это проект с открытым исходным кодом (GPL), обеспечивающий простую реализацию почти 400 распространенных команд, включая ls, mv, ln, mkdir, more, ps, gzip, bzip2, tar и grep. Он также содержит версию языка программирования awk, редактор потока sed, средство проверки файловой системы fsck, менеджеры пакетов rpm и dpkg и, конечно же, оболочку (sh), которая обеспечивает легкий доступ ко всем этим командам. Короче говоря, он содержит все основные команды, необходимые системе POSIX для выполнения общих задач обслуживания системы, а также многих пользовательских и административных задач.
Фактически, он даже содержит команду init, которую можно запустить как PID 1, чтобы она служила родительским процессом для всех других системных служб. Другими словами, BusyBox можно использовать как альтернативу systemd, OpenRC, sinit, init и другим процессами запуска.
BusyBox очень маленький. Как исполняемый файл, он составляет менее 1 МБ, поэтому он приобрел большую популярность во встроенных устройствах, устройствах Edge и IoT, где дисковое пространство имеет первостепенное значение. В мире контейнеров и облачных вычислений он также популярен как основа для создания минимальных образов контейнеров Linux.
Минимализм
Отчасти привлекательность BusyBox заключается в его минимализме. Все его команды скомпилированы в единый двоичный файл (busybox), а его справочная система занимает всего 81 страницу, но он содержит почти 400 команд.
В качестве примера сравнения, вот результат shadow версии useradd —help :
-b, --base-dir BASE_DIR base directory for home -c, --comment COMMENT GECOS field of the new account -d, --home-dir HOME_DIR home directory of the new account -D, --defaults print or change the default config -e, --expiredate EXPIRE_DATE expiration date of the new account -f, --inactive INACTIVE password inactivity -g, --gid GROUP name or ID of the primary group -G, --groups GROUPS list of supplementary groups -h, --help display this help message and exit -k, --skel SKEL_DIR alternative skeleton dir -K, --key KEY=VALUE override /etc/login.defs -l, --no-log-init do not add the user to the lastlog -m, --create-home create the user's home directory -M, --no-create-home do not create the user's home directory -N, --no-user-group do not create a group with the user's name -o, --non-unique allow users with non-unique UIDs -p, --password PASSWORD encrypted password of the new account -r, --system create a system account -R, --root CHROOT_DIR directory to chroot into -s, --shell SHELL login shell of the new account -u, --uid UID user ID of the new account -U, --user-group create a group with the same name as a user
А вот версия той же команды для BusyBox:
-h DIR Home directory -g GECOS GECOS field -s SHELL Login shell -G GRP Group -S Create a system user -D Don't assign a password -H Don't create home directory -u UID User id -k SKEL Skeleton directory (/etc/skel)
Является ли это различие функцией или ограничением, зависит от того, предпочитаете ли вы иметь в своих командах 20 или десять вариантов. Для многих пользователей и вариантов использования минимализм BusyBox предоставляет ровно столько, сколько необходимо для работы. Для других это хорошая минимальная среда, которую можно использовать в качестве запасного варианта или в качестве основы для установки более надежных инструментов, таких как Bash, Zsh, GNU Awk и т. Д.
Установка BusyBox
В Linux вы можете установить BusyBox с помощью диспетчера пакетов. Например, в Fedora и подобных:
В Debian и подобных:
Вы можете установить BusyBox в качестве оболочки с помощью команды chsh —shell, за которой следует путь к приложению BusyBox sh. Я храню BusyBox в / lib64, но его расположение будет зависеть от того, где он установлен в вашем дистрибутиве.
$ which busybox /lib64/busybox/busybox $ chsh --shell /lib64/busybox/sh
Замена всех распространенных команд оптом на BusyBox немного сложнее, потому что большинство дистрибутивов «жестко запрограммированы», чтобы искать конкретные пакеты для определенных команд. Другими словами, технически возможно заменить init на init от BusyBox, ваш менеджер пакетов может отказать вам в удалении пакета, содержащего init, из опасения, что ваша система станет неработоспособной. Есть некоторые дистрибутивы, построенные на BusyBox, поэтому начать с нуля, является самым простым способом испытать систему, построенную на BusyBox.
Использование BusyBox
Для постоянной работы не нужно менять оболочку на BusyBox, чтобы просто протестировать ее. Вы можете запустить оболочку BusyBox из текущей оболочки:
$ busybox sh ~ $
В вашей системе будут установлены версии команд, не относящиеся к BusyBox, поэтому, чтобы испытать инструменты BusyBox, вы должны вводить команды в качестве аргументов для исполняемого файла busybox:
~ $ busybox echo $0 sh ~ $ busybox ls --help BusyBox vX.YY.Z (2021-08-25 07:31:48 NZST) multi-call binary.Usage: ls [-1AaCxdLHRFplinshrSXvctu] [-w WIDTH] [FILE].
Список содержимого каталога
-1 One column output -a Include entries that start with . -A Like -a, but exclude . and .. -x List by lines [. ]
Для «полного» взаимодействия с BusyBox вы можете создавать символические ссылки на busybox для каждой команды. Это проще, чем кажется, если вы используете цикл for:
$ mkdir bbx $ for i in $(bbx --list); do ln -s /path/to/busybox bbx/$i done
Добавьте свой каталог символических ссылок при старте в path и запустите BusyBox:
BusyBox — забавный проект и пример того, насколько минимальными могут быть вычисления. Независимо от того, используете ли вы BusyBox в качестве облегченной среды для спасенного вами древнего компьютера, в качестве пользовательского пространства для встроенного устройства, для испытания новой системы инициализации или просто в качестве любопытства, может быть заново познакомиться со старыми знакомыми, но c другой стороны новыми, командами.
Все в порядке, но.
Этот текст мало кто будет читать и мы можем написать здесь все, что угодно, например.
Вы живете в неведении. Роботы уже вторглись в нашу жизнь и быстро захватывают мир, но мы встали на светлый путь и боремся за выживание человечества. А если серьезно, то.
В целях обеспечения безопасности сайта от кибератак нам необходимо убедиться, что вы человек. Если данная страница выводится вам часто, есть вероятность, что ваш компьютер заражен или вы используете для доступа IP адрес зараженных компьютеров.
Если это ваш частный компьютер и вы пытаетесь зайти на сайт, например, из дома — мы рекомендуем вам проверить ваш компьютер на наличие вирусов.
Если вы пытаетесь зайти на сайт, например, с работы или открытых сетей — вам необходимо обратиться с системному администратору и сообщить, что о возможном заражении компьютеров в вашей сети.
- © 2005-2023, «4PDA». 4PDA® — зарегистрированный товарный знак.