Excluído / usr / lib, como faço para restaurá-lo?

4

Eu sei que isso é algo que eu não deveria fazer, mas aconteceu (Ubuntu 12.04.1 LTS) como um usuário root eu deletei a pasta / usr / lib. Alguma idéia de como restaurá-lo?

    
por gregor171 26.03.2013 / 18:15

2 respostas

1

Existem ferramentas que podem ajudá-lo a recuperar os arquivos, mas geralmente é um processo lento e geralmente manual. Os mecanismos de pesquisa são seus amigos.

Pode ser mais fácil inicializar um live CD ou USB, montar a partição raíz do seu sistema, então copiar / usr / lib para /mnt/{root.drive}usr/lib, mas você só irá obter os arquivos lib padrão e não o que você pode ter adicionado.

Acho que a melhor opção é reinstalar o sistema operacional. Claro, você vai querer seus dados em uma partição separada que não é formatada durante a instalação, boa prática IMHO.

    
por user143574 26.03.2013 / 19:36
0

Supondo que apt-get funcione, você pode tentar usar dpkg para obter uma lista dos pacotes que possuem arquivos e, em seguida, instalá-los com apt-get . Você pode usar este script Ruby, mas a mesma ideia pode ser implementada em python ou bash:

raw_pkgs = 'dpkg --get-selections'.split("\n")
need_reinstall = []

path="/usr/lib"

raw_pkgs.each do |x|
    pkg = x.split(" ")[0]
    if 'dpkg -L #{pkg}'.include? path
        puts "-> #{pkg} has files in #{path}"
        need_reinstall << pkg
    end
end
puts "\nYou need to reinstall #{need_reinstall.size} packages:"
puts "\tsudo apt-get install --reinstall " + need_reinstall.join(" ")

É um pouco uma solução de força bruta e levará algum tempo (no meu sistema, a listagem era ~ 65% do total de pacotes instalados ...), mas deveria funcionar.

    
por Salem 13.09.2013 / 12:06