Busybox se describe en su página de manual como la navaja suiza de Linux integrado. Combina versiones pequeñas de utilidades comunes de UNIX en un solo ejecutable pequeño. Proporciona alrededor de 400 implementaciones de comandos de Linux como más, menos, cabeza, cola, grep, awk, sed, dpkg, todo compilado en un solo binario.
Este ejecutable es de tamaño pequeño (menos de 1 MB) y, por lo tanto, es útil en situaciones en las que estamos limitados en términos de espacio en disco, por ejemplo, ejecutar un sistema operativo temporal completo en un disco RAM, sistemas integrados, dispositivos móviles, etc.
Cuadro ocupado mira el nombre por el que lo llama y actuará según el programa deseado, por ejemplo si llamamos a busybox a través de un enlace simbólico ls , realizará una acción similar al comando ls de manera similar si lo llamamos a través de mkdir enlace simbólico, realiza acciones similares a mkdir .
Instalación de BusyBox en Linux
En Linux , puede instalar BusyBox usando su administrador de paquetes predeterminado como se muestra.
$ sudo apt install busybox [On Debian, Ubuntu and Mint] $ sudo yum install busybox [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/busybox [On Gentoo Linux] $ sudo pacman -S busybox [On Arch Linux] $ sudo zypper install busybox [On OpenSUSE] $ sudo apk add busybox [On Alpine] $ docker run cmd.cat/busybox busybox [On Docker]
Si su distribución actual de Linux no se menciona aquí, puede consultar el enlace en la sección de referencias sobre cómo instalarlo.
Cómo usar BusyBox en Linux
Para comenzar, ejecute el comando busybox sin opciones ni banderas.
# busybox
El resultado es una lista de todos los comandos admitidos por el cuadro ocupado junto con otras opciones útiles.
Para ver los comandos exactos, podemos enumerarlos de la siguiente manera:
# busybox --list
Para ver el tamaño del archivo del binario que escribimos.
# cd /usr/sbin/ && du -h busybox
Se obtiene una imagen mucho más clara cuando comparamos las opciones de un comando desde el shell de Linux y el shell de busybox.
# grep --help [Shell] # busybox grep --help [Busybox]
Como puede ver en la salida de ambas ejecuciones, algunas de las opciones del shell de Linux no están disponibles en la salida de busybox. En la mayoría de los casos, encontraremos que las opciones de busybox son todo lo que necesitamos para realizar tareas específicas en aplicaciones comunes como dispositivos IoT.
Para poder utilizar busybox comandos, escribimos los comandos precedidos por la palabra clave busybox, por ejemplo, para buscar una cadena usando el comando grep que escribimos.
# busybox grep "SearchString" file.txt
El comando anterior funciona de manera similar al de un shell de Linux.
Alternativamente, también podemos acceder al shell de busybox y evitar usar la palabra clave busybox cada vez que necesitemos ejecutar comandos de la siguiente manera.
# busybox sh
Mientras estamos en el shell podemos ejecutar comandos normalmente como si estuviéramos en un shell de Linux.
# grep "SearchString" file.txt
Para salir del shell escribe.
# exit
Cuadro ocupado está escrito teniendo en cuenta los recursos limitados y las optimizaciones de tamaño. Su modularidad permite la inclusión y exclusión de comandos/características en tiempo de compilación, en el sentido de que podemos incluir solo los componentes que necesitamos y, por lo tanto, facilita la personalización de su implementación en sistemas como móviles, integrados, etc.
En términos generales, no necesitamos un busybox en nuestros sistemas Linux ya que ya tenemos el paquete completo, como se mencionó, es útil en los casos en los que tenemos una cantidad limitada de espacio en disco para trabajar.