Diretório acidentalmente apagado / usr

1

Eu acidentalmente excluo o diretório /usr no meu Ubuntu 16.04 com o sistema Windows 8 inicializado.

Agora não consigo iniciar meu computador pelo sistema operacional Ubuntu. Por favor, recomende algo para que eu possa iniciar o meu computador.

    
por Rajat Gupta 03.07.2017 / 10:43

2 respostas

2

O /usr é um caminho realmente importante de um sistema GNU / Linux, contém muitos binários (necessários), bibliotecas, fontes, coisas compartilhadas, etc.

É a maior parte de um sistema:

5.6G    /usr
0       /proc
37K     /root
80M     /boot
0       /sys
423M    /lib
8.0K    /mnt
68K     /tmp
4.0K    /lib64
14M     /sbin
712M    /var
12M     /bin
1.2M    /dev

Eu tenho 2097 pacotes instalados na minha máquina Ubuntu enquanto 2019 deles possuem arquivos instalados no diretório /usr .

Portanto, realmente não vale a pena tentar reinstalar todos esses pacotes novamente para corrigir o problema, porque de alguma forma está perto de reinstalar todo o sistema novamente.

Eu tenho uma resposta para a pergunta: " Acidentalmente removido / bin. Como faço para restaurá-lo? " que você pode usá-lo para esta situação também.

Simplesmente para reinstalar os pacotes, você precisa chroot em seu sistema quebrado, criar um /usr temporário, obter uma lista de todos os pacotes que possuem arquivos instalados em /usr usando dpkg -S /usr , reinstalá-los ou extrair e copie os arquivos necessários.

A outra coisa que você pode fazer é usar o testdisk, você pode ser capaz de trazer /usr de volta muito rápido, aqui é um guia passo a passo.

No entanto, sugiro que você faça um backup dos seus arquivos e reinstale o Ubuntu.

    
por Ravexina 03.07.2017 / 10:52
1

Encerre o sistema imediatamente para evitar a substituição do conteúdo do diretório que costumava ser /usr . Depois de fazer isso, prepare uma distribuição Linux boot ao vivo, qualquer uma das distribuições Linux modernas será suficiente. Eu prefiro fazer isso com Kali Sana - porque a distribuição de ações tem o pacote / s que queremos para o processo de recuperação.

Após concluir a preparação, conecte a unidade flash de inicialização ao vivo na caixa danificada e inicialize a partir da unidade flash. Agora você pode prosseguir com a recuperação. Lembre-se que este não é um método seguro. Francamente, nunca encontrei um método que funcionasse sempre.

Como a partição que contém o diretório /usr excluído provavelmente tem um sistema de arquivos ext3 ou ext4 - dado que o sistema é Ubuntu 16.04 - o primeiro utilitário que vamos implementar é extundelete . Se você tiver o pacote instalado por padrão, basta pular para a recuperação. No entanto, se você não tiver o pacote instalado, instale-o por

sudo apt-get update
sudo apt-get install extundelete

depois de instalar o pacote, você precisa encontrar o nome da partição que continha o diretório /usr excluído. Depois de localizar este nome de partição, no meu caso, por razões de explicação, direi que meu diretório apagado estava em /dev/sda1 .

1. %código%

Primeiro, você precisa alterar o diretório de trabalho atual para um diretório em uma partição que tenha espaço livre suficiente para conter o diretório extundelete recuperado. Para encontrar um diretório com espaço livre suficiente, use o comando /usr .

saída de df -h

O diretório típico df -h é próximo de 10 gigabytes, portanto escolha uma partição com pelo menos esse espaço livre. Talvez você possa usar sua partição do Windows 8. Mas antes de poder usar a partição, você precisa montá-la. Como o sistema operacional Windows 8 é mais provável em uma partição NTFS, monte-o usando os seguintes comandos - aqui estou assumindo que o nome da partição da partição NTFS do Windows 8 seja /usr .

sudo mkdir /mnt/windows_8
sudo mount -t ntfs /dev/sda3 /mnt/windows_8

Em seguida, altere seu diretório de trabalho atual para /dev/sda3 by /mnt/windows_8 . Agora mude para um shell root por cd /mnt/windows_8 e insira sua senha sudo.

A restauração final é feita da seguinte maneira. %código%. Se esse método funcionar, haverá um subdiretório do seu diretório de trabalho atual chamado sudo -s , que contém os arquivos recuperados, ou seja, o diretório extundelete --restore-directory /usr /dev/sda1 e seu conteúdo.

2. %código%

Isso é um pouco mais interativo e funciona excepcionalmente bem com arquivos e diretórios recém-excluídos - e tem o benefício adicional de trabalhar com praticamente todas as arquiteturas de sistema de arquivos e particionamento onipresentes. Novamente, se você já tiver o pacote em sua distro, vá para a parte de recuperação deste texto. No entanto, se você não fizer isso, instale-o por RECOVERED_FILES . A primeira etapa do processo de recuperação é criar um diretório de saída para os arquivos e diretórios recuperados. Para fazer isso, use

mkdir /mnt/windows_8/REC

Em seguida, em um shell raiz, abra o testdisk como

sudo testdisk /dev/sda1

Isso abrirá uma janela CLI interativa. Pressione Enter para /usr . Em seguida, selecione testdisk para declarar o disco como uma mídia não particionada. Pressione enter para ir para a próxima página. A escolha sudo apt-get install testdisk . Em seguida, pressione para destacar Proceed e pressione Enter . Isso listará o conteúdo da partição None e você poderá navegar pela janela do programa seguindo as informações da Ajuda na parte inferior e superior da tela e recuperando facilmente seus arquivos. No testdisk, os arquivos e diretórios excluídos aparecem em vermelho. Use o diretório criado anteriormente, por exemplo, Advanced para gerar os arquivos recuperados.

Ambos os métodos funcionam melhor em partições recém apagadas e sistemas de arquivos. Quanto mais você esperar para desligar o sistema depois de excluir inadvertidamente um arquivo ou sistema, maior a probabilidade de perder os arquivos / diretórios para sempre.

    
por endrias 03.07.2017 / 12:13