Como lidar com bin / sh corrompido?

1

Eu estraguei meu arquivo bin / sh, sobrescrevendo-o com um arquivo de banco de dados no Virtualmin. Depois que eu reiniciei, o Ubuntu Server não iniciará mais corretamente. O erro que enfrento é:

  

init: Falha ao gerar o processo principal de plymouth: Não foi possível executar: Nenhum arquivo ou diretório.

Eu tenho um live CD aqui, mas não sei como usá-lo para sobrescrever o bin / sh corrompido.

Alguém poderia me ajudar a resolver a situação.

    
por krose626 14.09.2012 / 04:54

2 respostas

2

Muito obrigado sergey! :) Consegui resolver isso. Parece que eu já montei ontem por seguir cegamente uma situação semelhante em um determinado fórum. Só não tinha certeza sobre o que colocar depois de "/ dev". Mais uma vez, muito obrigado pela sua ajuda. : D

Para aqueles que podem encontrar o mesmo problema (e um novato completo como eu), aqui estão os passos a seguir:

  1. Use um cd / disco ao vivo para inicializar o sistema operacional / computador desarrumado. (Use unetbootin para o disco ao vivo). Escolha Experimente o Ubuntu sem instalar.

  2. Abra um terminal. Verifique o nome da partição (com o confuso sh) a ser montado digitando sudo fdisk -l . Nota: l é uma letra.

  3. Monte a partição em qualquer pasta do live cd. Por exemplo, sudo mount /dev/sda /media . Onde sda é o nome da partição.

  4. Em seguida, navegue até / media usando cd.

cd /bin
sudo rm sh
sudo ln -s bash sh
sudo apt-get update
sudo apt-get install --reinstall dash

Isso funcionou para mim. : D

Mais uma vez, agradeça a Sergey.

    
por krose626 14.09.2012 / 06:41
1

Na minha máquina /bin/sh é um link simbólico para dash . Tudo que você precisa é restaurar o link simbólico.

Durante a inicialização do LiveCD, monte a partição raiz em algum lugar (por exemplo, /media/disk ) e, em seguida,

cd /media/disk/bin
sudo rm ./sh
sudo ln -s dash ./sh

Algo parecido com isso.

Atualização: Em relação a "montar a partição raiz em algum lugar" - se você inicializou de um LiveCD e tem uma GUI completa, o mais fácil seria abrir o navegador de arquivos, no painel esquerdo algumas entradas uma das quais correspondem à partição no disco rígido onde o seu Ubuntu está instalado (também conhecido como partição "root"). Basta clicar na entrada para montar a partição e exibir seu conteúdo. Você pode dizer que é uma partição raiz, caso veja os diretórios bin , boot , dev , etc , ..., var .

Quando você clica na entrada no painel esquerdo do navegador do arquivo, o que está acontecendo nos bastidores é que o sistema de arquivos está sendo montado como uma subárvore dentro de algum diretório, geralmente /media . Você pode verificar isso usando o navegador de arquivos também.

Depois de descobrir onde sua partição está montada, você abre o terminal e recria um link simbólico.

    
por Sergey 14.09.2012 / 05:03