¿Para qué se usa bash-static?

15

¿Cuál es el propósito de bash-static en comparación con bash regular? ¿Es bueno como caparazón de rescate o para qué sirve?

Niklas
fuente

Respuestas:

24

Probablemente se esté refiriendo al .debpaquete bash-staticque es una versión enlazada estáticamente bash, lo que significa que es un programa independiente que no depende de nada más (especialmente bibliotecas) en su disco.

Lo he usado en dos ocasiones diferentes:

  • Instalado en servidores para que siempre tenga un funcionamiento bash, incluso en situaciones catastróficas cuando ld.soo libcno están funcionando (ausente, corrupto, mal configurado, ...)
  • Entregado a los clientes junto con mis propios scripts de shell, de modo que estoy seguro de que tienen la versión adecuada bash, ya que estaba usando algunas funciones avanzadas que se introdujeron con bash v4.3.
xhienne
fuente
44
El escenario típico es que se /monta bien, pero /usrno se puede montar por cualquier motivo. Por lo tanto, los sistemas BSD generalmente evitan los ejecutables vinculados dinámicamente en /biny /sbin.
Kusalananda
2
@Kusalananda No estoy seguro de que este sea realmente un escenario típico. /usrno se supone que esté disponible en las primeras etapas de arranque. Según la FHS, no desea que nada en /bin(especialmente /bin/*sh) dependa de nada en /usr/lib.
xhienne
55
Ah, entonces es por eso que Linux tiene un /libdirectorio (no presente en los sistemas BSD) en lugar de /usr/lib...
Kusalananda
55
@Kusalananda Right, además de, no en lugar de. El FHS establece que "El /libdirectorio contiene las imágenes de la biblioteca compartida necesarias para iniciar el sistema y ejecutar los comandos en el sistema de archivos raíz, es decir, mediante binarios en /biny /sbin. (Nota al pie) Bibliotecas compartidas que solo son necesarias para los binarios en /usr(como cualquier X Los archivos binarios de la ventana) no deben estar en /lib".
xhienne