OK, primeiro a palestra:
Não suje com SISTEMA BINARIES
Qualquer coisa/bin
,/sbin
e/rescue
no FreeBSD deve ser deixado sozinho. Mesmo se você souber o que está fazendo (se você souber o que está fazendo, também saberá que eles devem ser deixados em paz. Eles são realmente importantes - todos eles!)
NÃO apague/bin/sh
. SEMPRE. Em qualquer sistema * NIX que o possua.
Realmente. Não faça isso. A LOT de roteiros dependem de/bin/sh
ser um Shell Bourne. Isso quebra o universo.
Se você realmente quiser, você provavelmente pode substituir de forma segura-lo com uma cópia debash
como Adam Z sugerido, mas se você estiver indo para fazer isso você pode querer estaticamente ligação que copiar debash
- Ele puxa em um monte de bibliotecas, e você pode não ter esses até que o sistema esteja instalado e/usr/local
montado.
Agora, como consertar a bagunça? Duas opções:
Opção 1: Um pouco doloroso
Vá para http://www.freesbie.org/ (ou o FreeBSD LiveCD de sua escolha - você provavelmente pode até usar o CD de recuperação de http://www.freebsd.org para isso). Pegue o LiveCD, grave-o e inicie-o.
Quando estiver no ambiente do LiveCD, monte a partição raiz do sistema bloqueado, copie-o /bin/sh
do LiveCD para a sua máquina e reinicie.
Isso deve fazer com que você volte a funcionar. Você pode seguir as instruções para Reconstruir o "Mundo" ou, pelo menos, recompilar a /bin/sh
partir de uma árvore de origem que corresponda ao seu sistema em execução.
Opção 2: Menos doloroso, sem LiveCD
Se você tiver outra caixa do FreeBSD por perto, poderá optar por (ou alguma outra maneira de obter uma cópia da cópia/bin/sh
, traga sua máquina FreeBSD para o modo de usuário único. Configure a rede (ou monte qualquer mídia que tenha o shell de substituição) e copie-o no lugar onde deveria estar.
Reinicie e você deve estar bem - as mesmas ressalvas que o LiveCD, se o /bin/sh
pegar não for de uma máquina razoavelmente próxima da idêntica.