But being a single binary it also is a single point of failure.
Até mesmo um usuário padrão tem muitos desses. Libra corrompida? Falta de dependências? Que pena.
Why don't just use a standard user land instead of busybox on such machines?
A beleza do busybox (e suas alternativas, como toybox) é que ele é pequeno, simples e suficiente para a tarefa. Funciona, então por que usar outra coisa?
Ele também é usado em qualquer PC de mesa, como parte do initramfs, novamente por simplicidade. Enquanto você poderia duplicar um userland real lá, isso iria apenas explodir o tamanho do kernel / initramfs além da proporção. E um initramfs maior significa tempos de carregamento mais longos e um processo de inicialização mais lento.
Para os fornecedores de firmware, também é mais fácil acompanhar um único projeto, em vez de fazer o que as distribuições Linux fazem, tentando fazer com que vários componentes se ajustem e trabalhem juntos e rastreando bugs para cada um deles ...
É claro que o busybox também tem suas limitações, por exemplo, é difícil compilar um kernel Linux em um ambiente busybox, já que algumas funções simplesmente estão faltando ( ar
por exemplo está faltando algumas opções que o kernel deseja usar). Mas para o initramfs ou smartphones, essas limitações não importam.