Overvealous 'mv' renomeou minha pasta / usr / lib

4

Eu estava tendo um problema onde meu arquivo libiconv.2.dylib em / usr / lib estava corrompido e muitos aplicativos estavam falhando. Eu peguei uma cópia da pasta friends / usr / lib e ia trocá-los. Aparentemente eu não pensei muito bem porque quando eu emiti sudo mv /usr/lib /usr/lib.old , isso causou alguns problemas. Agora o Finder não abre, o Terminal.app continua dizendo "Operação ilegal" e outras coisas como o Archive Utility não funcionam. Tenho certeza de que, se eu reiniciar minha máquina, ela não será inicializada.

Como posso renomear isso de volta, ou renomear meus amigos para apenas / usr / lib (currenty /usr/lib.new) ???

    
por Chris Bloom 27.07.2010 / 07:19

4 respostas

4

Obrigado pelas sugestões. Entrei em pânico esta manhã e cavei todas as caixas até encontrar o DVD do OS X. Eu era capaz de inicializar a partir do DVD diretamente e, em seguida, usar a instância do terminal do DVD para renomear a pasta usr / lib / de volta. Eu também reinstalei as ferramentas de desenvolvimento do OS X e do Xcode apenas no caso. Ele inicializa bem agora e não há mais erros sobre libiconv também.

    
por 27.07.2010 / 16:29
2

Seus programas pararam de funcionar porque provavelmente estavam vinculados a bibliotecas (uma dependência difícil) que não podiam mais ser encontradas. Isso impediu que os programas funcionassem.

Se você conseguir iniciar um terminal, poderá especificar manualmente o caminho para suas bibliotecas antigas dentro da variável LD_LIBRARY_PATH , para poder iniciar outros programas.

$ export LD_LIBRARY_PATH=/usr/lib.old

Em seguida, mova suas bibliotecas de volta para onde elas estavam antes e unset LD_LIBRARY_PATH .

$ unset LD_LIBRARY_PATH

Teste se tudo funciona como antes.

E não mova todo o /usr/lib/ novamente se você tiver problemas com uma única biblioteca.

    
por 27.07.2010 / 16:36
2
  • O OSX tem um modo de segurança que pode ajudá-lo.
  • Reiniciar sua máquina também pode ajudar.
  • Se você estiver com problemas para executar comandos, tente colocar o caminho completo em qualquer comando que estiver usando. - (neste caso, o caminho completo é /usr/lib.old /...)
por 27.07.2010 / 08:16
0

você já tentou chown e chmod?
Eu tentaria iniciar o modo de usuário único e tente:

chown -R root:wheel /usr/lib.old/

chmod -R 755 /usr/lib.old/

cp -R /usr/lib.old /usr/lib/

    
por 27.07.2010 / 08:03