Excluiu acidentalmente a pasta "/ usr / share"

16

O sistema não inicia. Fiz isso usando rm - Racidentalmente. Como posso recuperar o sistema?

Mouvre
fonte
tem certeza de que removeu a /usr/sharepasta .. tente fazer logon com a sessão ao vivo .. copie e cole a /usr/sharepasta da sessão ao vivo nas partições raiz/usr/share
PRATAP
1
O que o @PRATAP sugeriu pode obtê-lo para que você possa fazer login novamente, mas muitos programas de usuário armazenam dados de aplicativos lá, para que, na melhor das hipóteses, conserte apenas os programas usados ​​pelo sistema 'live' (instalar mídia). Você terá que install --reinstalloutros programas; ou você pode simplesmente reinstalar usando 'outra coisa', sem formato, e ele anotará seus aplicativos instalados, limpe os diretórios do sistema e depois instale, depois reinstale os programas adicionais (se houver nos repositórios do Ubuntu); mas essa opção pode ser uma alternativa, pois você provavelmente aprenderá mais tentando corrigi-la primeiro. Sempre há a restauração de seus backups.
guiverc 29/04
-> com apenas rm -R em / usr / share NADA é excluído. O conteúdo pertence ao root e, portanto, um usuário normal não pode excluí-lo.
Rinzwind 29/04
@Rinzwind E se sim, por que o sistema não está carregando? Como posso obter a raiz para corrigi-lo?
Mouvre 29/04
você fez talvez sudo rm -R? A resposta que n0rbert postou me parece boa. Esse é o caminho a seguir
Rinzwind

Respostas:

48

Você precisa reinstalar todos os aplicativos que possuem arquivos /usr/share.

  1. Inicialize o sistema no Modo de recuperação com prompt de raiz .

  2. Remonte os rootfs para o modo de leitura e gravação mount -o rw,remount /.

  3. Levante a interface Ethernet e obtenha o endereço IP do servidor DHCP: dhclient enp0s3(verifique o nome correto da interface em ip aou ifconfig -a).

  4. Especifique o servidor DNS por

    rm /etc/resolv.conf
    echo "nameserver 192.168.1.1" > /etc/resolv.conf
    

    (mude 192.168.1.1para o seu gateway / roteador)

  5. Você precisa consertar o dpkgpacote, pois ele perde o /usr/share/dpkg/cputablearquivo (caso contrário, você encontrará o "E: error reading the cpu table"comando apt / apt-get)

    wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.19.0.5ubuntu2.1_amd64.deb
    dpkg -i dpkg_1.19.0.5ubuntu2.1_amd64.deb
    

    ou instalando-o do cache:

    dpkg -i /var/cache/apt/archives/dpkg_*.deb
    
  6. atualize o cache do pacote:

    apt-get update
    
  7. reinstalar componentes essenciais

    apt-get install --reinstall debconf linux-base
    mkdir /usr/share/python
    apt-get install --reinstall python2.7-minimal python3-minimal
    
  8. e use uma linha abaixo:

    apt-get install --reinstall $(dpkg -S /usr/share/ | sed 's/,//g' | sed 's/: \/usr\/share//g')
    

    Acima:

    • dpkg -S /usr/share/ mostra a lista de pacotes separados por vírgula
    • sed 's/,//g' - remove vírgulas
    • sed 's/: \/usr\/share//g'- remove : /usr/shareno final

    Esta parte pode falhar com mensagens sobre alguns pacotes. Por exemplo, na minha VM com problemas bsdmainutils, instalei-os com:

    dpkg -i /var/cache/apt/archives/bsdmainutils_*.deb
    

    e, em seguida, reran uma linha acima.

  9. corrigir pacotes quebrados

    dpkg --configure -a
    apt-get install -f
    
  10. finalmente conserte o /etc/resolv.conflink

    rm /etc/resolv.conf
    ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    
  11. reiniciar.

Nota: o sistema fixo resultante não mostra nenhum problema durante a execução sudo apt-get checkou sudo debsums --all --changed.

N0rbert
fonte
este comando deve ser usado da sessão ao vivo?
PRATAP
@PRATAP do modo de recuperação é suficiente.
N0rbert 29/04
OK, isso é bom .. mas mesmo após a exclusão /usr/share, o grub funcionará normalmente e exibirá o menu do grub? eu acho que tenho que excluí-lo e ver no meu pc prático .. resposta agradável ..
obrigado
1
Acabei de testar isso na VM. É quase solução de trabalho.
N0rbert 29/04
1
@ N0rbert Obrigado pela ajuda, realmente funciona!
Mouvre
2

Resposta curta: você não pode e precisa reinstalar os aplicativos, conforme sugerido por uma resposta anterior.

No entanto, antes disso, eu montaria a unidade em outro computador e testaria os utilitários que não estão disponíveis para o ext3 / ext4. Uma pesquisa rápida no Google aponta para os seguintes:

extundelete: http://extundelete.sourceforge.net/

easus: https://www.easeus.com/resource/drive/ext3.htm

TestDisk: https://www.cgsecurity.org/wiki/TestDisk

Como orientar: http://translatedby.com/you/howto-recover-deleted-files-on-an-ext3-file-system/original/

etc.

Jose Manuel Gomez Alvarez
fonte
Sugiro testdeleteporque experimentei uma vez: p
αғsнιη 30/04