Exclusão acidental do diretório / lib no Fedora 15

3

Eu apaguei acidentalmente o diretório / lib na minha máquina do Fedora 15 e não sei como consertar isso. Qualquer ajuda em descobrir como restaurar o diretório junto com os links simbólicos seria muito apreciada.

    
por THE DOCTOR 09.12.2011 / 04:41

4 respostas

2

/ lib é um diretório do sistema, conterá os arquivos de biblioteca necessários instalados durante a instalação e, posteriormente, a partir de qualquer instalação de pacote adicional usando rpm ou tarballs. Você tem algum backup para o host, está em uma partição RAID ou LVM? Para isso, o procedimento será diferente. No entanto, / lib é um diretório do sistema e sua disponibilidade no modo sã é essencial para a execução funcional do host.

Eu gostaria de sugerir a procura de um live-cd e inicializar o sistema usando cd e entrar no modo de recuperação. Além disso, encontre se há alguma máquina na mesma rede com a mesma instalação de imagem anterior. Caso contrário, configure uma máquina com o mesmo fedora 15 separadamente. Vamos chamá-lo de uma máquina remota por causa da explicação. Esta máquina remota você pode usar para copiar / lib estrutura inteira com links simbólicos e tudo exatamente usando rsync mais tarde. Certifique-se de instalar o pacote rsync. Além disso, certifique-se de que o ssh esteja instalado e em execução na máquina remota, com login root permitido.

Nota: Se você não tiver outra máquina, a única alternativa é reinstalar o SO com a opção de não sobrescrever qualquer um dos dados instalados no Linux. Dessa forma, você garantirá que todos os dados locais na máquina, após sua instalação anterior, sejam seguros e intocados. E não recrie nenhuma partição. Se você tiver outra máquina, prossiga em seguida, pois isso pode fazer com que seu sistema seja recuperado e pronto e executado mais cedo.

Quando terminar de inicializar o CD e o modo de recuperação na máquina local, configure a rede e conheça os endereços IP da máquina de recuperação e de onde / lib pode ser copiado. Identifique a partição / lib no disco rígido local. É uma partição separada ou foi montada a partir de /. Geralmente é uma estrutura de diretório em /, não uma partição separada. Se estiver diretamente sob / da partição raiz do disco local, certifique-se de montar a partição root sob say / mnt / localroot. Sob / mnt / localroot / lib você encontrará sua estrutura de árvore corrompida / lib. No entanto, certifique-se de não estar usando / mnt / localroot, mas apenas / mnt / localroot / lib / only. Tenha cuidado com as barras e o caminho à direita.

mkdir /mnt/localroot
mount /dev/sda1 /mnt/localroot
ls -ld /mnt/localroot/lib

No prompt do shell, localize o binário rsync e comece a puxar o conteúdo / lib da máquina remota para o diretório lib local montado em / mnt / localroot / lib /.

/usr/bin/rsync --delete -avz -e /usr/bin/ssh <remote-machine-ip-address>:/lib/ /mnt/localroot/lib/

Quando a sincronização estiver concluída, execute o mesmo comando rsync novamente. Depois disso, reinicie o sistema, retire o CD de inicialização e tente inicializar a partir do grub no modo normal e identifique os logs em que todos os serviços foram iniciados corretamente, sem erros.

    
por 09.12.2011 / 10:39
2

Se você tiver outro sistema com uma configuração semelhante ao Fedora 15, você pode inicializar seu sistema a partir de um sistema de arquivos e sincronizar o conteúdo do outro sistema para preencher novamente o diretório / lib (rsync -avH fará isso). Alguns dos seus comandos podem não funcionar, então você precisa instalar esses pacotes novamente.

    
por 09.12.2011 / 10:04
1

Eu sugeriria que a recuperação do /lib seja o ângulo fácil de aceitar nesse caso.

então antes de tudo você deve parar de usar o fedora em questão, e rodar nele um live CD com algum programa de recuperação como aqui (é um bom guia), e recuperar para um HD separado (desde que você não quer destruir o potencial da recuperação), então depois de ter os resultados de um programa e é satisfatório você copiá-lo de volta para o fedora em questão, se não tentar outro programa.

Provavelmente, você não conseguirá recuperar todos os arquivos lib no diretório, mas poderá instalá-lo posteriormente.

Caso você não possa recuperar, faça backup de todos os arquivos do sistema alterados e instale a caixa Fedora novamente com a opção "Upgrade" no estágio de instalação, que instalará apenas os arquivos removidos que se associam a seu sistema básico.

    
por 09.12.2011 / 13:17
0

Outras respostas explicaram como recuperar seu sistema reiniciando em um live CD / USB. Você não poderá desligar seu sistema de maneira limpa, então pressione Alt + SysRq + S e então Alt + SysRq + U Alt + SysRq + B para desmontar os sistemas de arquivos de forma limpa e direta reinicialize. Há uma pequena chance de você não precisar disso, mas isso depende do que você tem disponível.

Primeiro, você precisa ser capaz de executar algum processo como root. Isso significa ter um shell de root em execução ou ter uma com um shell vinculado estaticamente e uma maneira de fazer logon no console ou por meio do ssh. O que você pode fazer dependerá das ferramentas vinculadas estaticamente que você tem à sua disposição. Se você tiver um mount vinculado estaticamente (por exemplo, em sash ou do Busybox), você pode montar um pendrive ou sistema de arquivos NFS que contenha uma cópia de lib de outra versão do Fedora. Se você ainda tiver os pacotes rpm disponíveis, reinstale aqueles que fornecem bibliotecas, começando com libc; até onde sei, o binário rpm do Fedora está vinculado estaticamente.

Veja também Lixeira movida e outras pastas ! Como recuperá-los? , uma situação diferente, mas com bastante em comum que as respostas possam fornecer complementos úteis.

    
por 10.12.2011 / 02:43