Preso na tela azul depois de executar "rm *" em /

12

Eu acidentalmente executado rm *em /e desde então eu sou incapaz de ver o meu desktop. Tudo o que vejo é uma tela azul com equipamento giratório.

Ironia é que de alguma forma senti falta do meu sistema operacional e de outros CDs que acompanham o meu Mac. Eu segui este artigo sobre como iniciar no modo de segurança, mas mostra a barra de progresso por muito tempo e, em seguida, novamente fica presa à tela azul

Em anexo está a tela que vejo na inicialização.

insira a descrição da imagem aqui

Também não consigo entrar no modo de segurança; então, como posso voltar ao sistema em funcionamento?

PS: Também me pergunto se consigo recuperar minhas configurações da área de trabalho sem comprometer todas as configurações? Estou especialmente preocupado com o software instalado via home brew, bancos de dados, etc. É possível restaurar ou copiar arquivos excluídos por algum tipo de reparo via CD ?. Meus arquivos ocultos infundindo bash_profile etc também estão lá. Você pode orientar como devo proceder?

atualização eu logar no modo único. Verifique a imagem. O que eu faço agora?

insira a descrição da imagem aqui

insira a descrição da imagem aqui

atualização # 3

insira a descrição da imagem aqui

finalmente

insira a descrição da imagem aqui

Volatil3
fonte
Você se lembra do comando exato em que executou, do usuário com o qual estava conectado no momento e de qualquer saída gerada pelo comando?
nohillside
Você usou a -ropção (ou a -R) opção? Se não o fez, isso não deveria acontecer.
0942v8653
Não, eu sei que correu rm com asterisco. Somente arquivos removidos. Todas as pastas estão lá porque, mesmo depois de executar o comando que eu estava usando meu sistema em GUI, só que eu não posso usá-lo após o reinício
Volatil3
@patrix só havia saída que ele disse pastas não foram excluídos como eram diretório
Volatil3
2
No momento, sua maior preocupação é como voltar ao sistema operacional, não se a instalação da sua homebrew sobreviveu.
nohillside

Respostas:

24

Dependendo da configuração do sistema e do comando, você provavelmente perdeu apenas alguns arquivos - incluindo um essencial - e pastas e alguns links simbólicos.

O uso do comando rm *- executado por um administrador na pasta raiz - geralmente exclui apenas o link simbólico / etc:

  • Inicialize no modo de usuário único, verifique seu sistema de arquivos /sbin/fsck -fye monte a leitura / gravação raiz com /sbin/mount -rw /. Depois, recrie o sym-link / etc ln -s /private/etc /etce reinicie o seu Mac shutdown -r now.

Usando o comando sudo rm *- executado por um sudoer na pasta raiz - em uma configuração padrão, você perderá apenas o arquivo 'mach_kernel' e os links simbólicos 'etc', 'tmp' e 'var'.

(Nenhum outro arquivo foi excluído no sistema de arquivos) . Após investigações adicionais, alguns outros arquivos e pastas também são excluídos com frequência: uma pasta com o nome de um usuário do sistema (geralmente o nome abreviado da sua conta de administrador) em / private / var / db / sudo / e um arquivo .state com um nome arbitrário (o UID gerado da sua conta de administrador / sudoer) relacionado a outro arquivo com o mesmo nome em / private / var / db / shadow / hash /. Não consigo determinar se eles são excluídos por 'sudo', 'rm' ou 'sudo rm'. Esses arquivos e pastas são de menor importância.

fsevent

Eu testei isso em uma VM de servidor do Mac OS X 10.6.8 quase baunilha.

Antes de executar sudo rm *a pasta raiz, fica assim: arquivos invisíveis, pastas e links simbólicos incluídos: com ls -la:

drwxrwxr-t  32 root  admin      1156 25 Dez 11:55 .
drwxrwxr-t  32 root  admin      1156 25 Dez 11:55 ..
-rw-rw-r--   1 root  admin     15364  4 Jan 14:35 .DS_Store
drwx------   3 root  admin       102 10 Sep 01:37 .Spotlight-V100
d-wx-wx-wt   2 root  staff        68 10 Sep 01:23 .Trashes
----------   1 root  admin         0 23 Jun  2009 .file
drwx------  38 root  admin      1292  4 Jan 14:59 .fseventsd
-rw-------   1 root  wheel      4096 10 Sep 01:29 .hotfiles.btree
drwxr-xr-x@  2 root  wheel        68 18 Mai  2009 .vol
drwxrwxr-x+ 35 root  admin      1190 25 Dez 16:49 Applications
drwxrwxr-x@ 16 root  admin       544 25 Dez 12:04 Developer
drwxrwxr-t+  2 root  admin        68 10 Sep 01:37 Groups
drwxrwxr-t+ 65 root  admin      2210 25 Dez 12:02 Library
drwxr-xr-x@  3 root  wheel       102 26 Feb 20:43 Network
drwxr-xr-x   4 root  wheel       136 10 Sep 01:28 Shared Items
drwxr-xr-x   4 root  wheel       136 10 Sep 02:02 System
drwxr-xr-x+  5 root  admin       170 10 Sep 01:37 Users
drwxrwxrwt@  4 root  admin       136 26 Feb 20:43 Volumes
drwxr-xr-x@ 39 root  wheel      1326 10 Sep 02:09 bin
drwxrwxr-t@  2 root  admin        68 23 Jun  2009 cores
dr-xr-xr-x   3 root  wheel      4013 26 Feb 20:43 dev
lrwxr-xr-x@  1 root  wheel        11 10 Sep 01:26 etc -> private/etc
dr-xr-xr-x   2 root  wheel         1 26 Feb 20:43 home
-rw-r--r--@  1 root  wheel  20828964  8 Jun  2011 mach_kernel
dr-xr-xr-x   2 root  wheel         1 26 Feb 20:43 net
drwxr-xr-x@  6 root  wheel       204 10 Sep 01:28 private
drwxr-xr-x@ 68 root  wheel      2312 10 Sep 02:09 sbin
lrwxr-xr-x@  1 root  wheel        11 10 Sep 01:26 tmp -> private/tmp
drwxr-xr-x@ 14 root  wheel       476 25 Dez 11:57 usr
lrwxr-xr-x@  1 root  wheel        11 10 Sep 01:26 var -> private/var

Depois de executar sudo rm *apenas um arquivo e os links simbólicos desapareceram:

drwxrwxr-t  28 root  admin   1020 26 Feb 19:41 .
drwxrwxr-t  28 root  admin   1020 26 Feb 19:41 ..
-rw-rw-r--   1 root  admin  21508 26 Feb 19:41 .DS_Store
drwx------   3 root  admin    102  9 Sep 23:37 .Spotlight-V100
d-wx-wx-wt   2 root  20        68  9 Sep 23:23 .Trashes
----------   1 root  admin      0 23 Jun  2009 .file
drwx------  38 root  admin   1292  4 Jan 13:59 .fseventsd
-rw-------   1 root  wheel   4096  9 Sep 23:29 .hotfiles.btree
drwxr-xr-x@  2 root  wheel     68 18 Mai  2009 .vol
drwxrwxr-x+ 35 root  admin   1190 25 Dez 15:49 Applications
drwxrwxr-x@ 16 root  admin    544 25 Dez 11:04 Developer
drwxrwxr-t+  2 root  admin     68  9 Sep 23:37 Groups
drwxrwxr-t+ 65 root  admin   2210 25 Dez 11:02 Library
drwxr-xr-x@  3 root  wheel    102 26 Feb 19:39 Network
drwxr-xr-x   4 root  wheel    136  9 Sep 23:28 Shared Items
drwxr-xr-x   4 root  wheel    136 10 Sep 00:02 System
drwxr-xr-x+  5 root  admin    170  9 Sep 23:37 Users
drwxrwxrwt@  4 root  admin    136 26 Feb 19:39 Volumes
drwxr-xr-x@ 39 root  wheel   1326 10 Sep 00:09 bin
drwxrwxr-t@  2 root  admin     68 23 Jun  2009 cores
dr-xr-xr-x   3 root  wheel   4013 26 Feb 19:39 dev
dr-xr-xr-x   2 root  wheel      1 26 Feb 19:39 home
dr-xr-xr-x   2 root  wheel      1 26 Feb 19:39 net
drwxr-xr-x@  6 root  wheel    204  9 Sep 23:28 private
drwxr-xr-x@ 68 root  wheel   2312 10 Sep 00:09 sbin
drwxr-xr-x@ 14 root  wheel    476 25 Dez 10:57 usr

Usando uma configuração não padrão, todos os outros arquivos e links simbólicos na pasta raiz (se houver algum) também serão excluídos. Todas as pastas não padrão (por exemplo, / opt) sobrevivem.

  • Se você não excluiu o arquivo do kernel (o que é improvável), tente inicializar no modo de usuário único e reconstrua os três links simbólicos excluídos com ln -s /.../folder /folder(por exemplo ln -s /private/etc /etc)

  • Se você fez um backup e excluiu o arquivo do kernel, tente restaurar o arquivo mach_kernel, os links simbólicos, a pasta com seu nome de usuário administrador em ../sudo/ e o arquivo de estado ausente. Você precisa de um disco rígido inicializável / pen drive para restaurar esses arquivos do backup.

  • Se você não possui um backup, tente copiar o arquivo mach_kernel de outro Mac com o mesmo sistema (por exemplo, 10.6.8). Recrie os links simbólicos. Você provavelmente precisa ajustar a propriedade e as permissões (consulte a listagem).

    "mach_kernel" também está disponível na atualização 10.6.8 do Mac OS X Combo e provavelmente em outros atualizadores de combinação, como a atualização 10.6.6 do Mac OS X Combo e a atualização 10.6.7 do Mac OS X Combo. Assim, a atualização do sistema corrompido com o atualizador de combinação de um pen drive inicializável externo ou conectada no modo de disco de destino a outro Mac também deve funcionar.

    Após restaurar o arquivo do kernel e os links simbólicos, você pode inicializar no modo de superusuário e entrar mount -o rw,remount /e criar a pasta ausente em / private / var / db / sudo / with mkdir /private/var/db/sudo/adminname. O arquivo .state ausente se reconstrói.

Se você executou, sudo rm -dR *está condenado sem um backup adequado. Meu sistema não foi inicializado posteriormente, mas desconcertantemente apenas ~ 524 MB de 9860 MB foram excluídos após as confirmações de substituição para '/System/Library/CoreServices/boot.efi' e '/ dev / fd / 4'.
Em uma segunda tentativa, obtive 8445 MB de 9860 MB excluídos usando sudo rm -dR *. A primeira tentativa também pode ter sido recuperada com a atualização de combinação, os restos fracassos da segunda tentativa certamente não são.

Klanomath
fonte
Tudo isso é maravilhoso, correto e impressionante, mas minha experiência é se / System ou / Library for atingido, o sistema não pode inicializar ou ultrapassar a tela cinza. A tela azul durante a inicialização significa que o sistema operacional fez check-out, foi iniciado corretamente (ou quase sempre) e a fase do ambiente do usuário do launchd foi iniciada. Uma verificação fácil para isso seria excluir com muito cuidado o arquivo /var/db/.AppleSetupDone no modo de usuário único e, em seguida, verificar se é possível criar um novo usuário administrador e pelo menos executar um backup do Time Machine para ver quais arquivos de usuário podem ser recuperados. .
bmike
@ klanomath, é interessante notar que o rm * não removeu os arquivos de imagem na raiz. Eu quero saber porque.
Volatil3
@klanomath-rw-r-----@ 1 Adnan staff 2404856 Feb 26 21:33 mountain.jpg
Volatil3
@klanomath o arquivo jpg foi baixado da net. Eu estava logado no mesmo usuário que executou o comando rm *.
Volatil3
1
@ Volatil3 Talvez a rm tenha desistido de excluir os arquivos antes de chegar ao mountain.jpg, tendo sido realmente malsucedida ao excluir todas essas pastas. Ou a montanha era grande demais para ser excluída. ;-) Testando o sudo rm -dR * na raiz da minha máquina virtual, também obtive alguns resultados inconsistentes: basta verificar a última parte da minha resposta. Na 1ª tentativa, apenas 7% do conteúdo foi excluído, na 2ª tentativa, 85%.
klanomath