GNU/Linux >> Tutoriales Linux >  >> Linux

BusyBox:la navaja suiza de Embedded Linux

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.


Linux
  1. Linux vs Unix:¿Cuál es la diferencia?

  2. Cómo llegó Linux al mainframe

  3. El ciclo de vida de las pruebas del kernel de Linux

  4. Domina el comando ls de Linux

  5. El comando de localización en Linux

¿Qué es el Shell en Linux?

Domina la línea de comandos de Linux

El año de la insatisfacción de Linux

Herramientas MX revisadas:una navaja suiza de pingüinos

El comando del temporizador en Linux

Los 15 mejores gestores de arranque de Linux para el hogar y sistemas integrados