Como faço para restaurar o libz.so.1?

3

Enquanto tentava consertar um problema com o Python, acidentalmente explodi meu binário libz.so.1 ao criar links simbólicos sobre ele. Agora, um monte de coisas, incluindo apt-get , não funciona. O dano é limitado a apenas libz.so.1 (que estava apontando para libz.so.1.2.8 ), então eu deveria ser capaz de consertar isso apenas encontrando o binário x86_64 e colocando-o de volta no lugar, mas tudo que eu posso encontrar é a fonte e Eu não posso conseguir isso para compilar. Eu estou no Xenial. Onde posso encontrar um binário compilado?

    
por bdetweiler 14.05.2018 / 04:17

3 respostas

4

A maneira correta de corrigir este problema é baixar manualmente o pacote necessário e instalá-lo ou extraí-lo para o sistema. Claro que você pode executar tais ações do LiveCD / LiveUSB.

Como resolver esses problemas:

  1. Visite packages.ubuntu.com .
  2. Insira o nome do arquivo perdido em Pesquise o conteúdo dos pacotes (no nosso caso libz.so.1.2.8 ) especificando o destino Distribuição ( xenial no nosso caso) e CPU Arquitetura ( amd64 ):

  3. CliqueemPesquisar,elemostrará a página de resultados :

  4. Emseguida,cliquenolink zlib1g

  5. Na seção Download , clique em amd64 :

  6. Napáginaaberta,selecioneoespelhomaispróximo,(copieolinkoubaixeoarquivodebpelonavegador)

    wget http://mirrors.kernel.org/ubuntu/pool/main/z/zlib/zlib1g_1.2.8.dfsg-2ubuntu4_amd64.deb
    
  7. Tente instalar o pacote baixado no sistema:

    sudo dpkg -i zlib1g_1.2.8.dfsg-2ubuntu4_amd64.deb
    

    Se não funcionar - extraia diretamente para o sistema de arquivos:

    sudo dpkg -x zlib1g_1.2.8.dfsg-2ubuntu4_amd64.deb /
    
  8. E então, com certeza, reinstale-o com o APT:

    sudo apt-get install --reinstall zlib1g
    
por N0rbert 14.05.2018 / 10:44
1

Uma extensão para instruções do N0rbert , se você estiver fazendo isso em uma sessão ao vivo, verifique se está extrair o pacote para a raiz da sua instalação do Ubuntu quebrada , ao contrário da raiz da própria sessão ao vivo (que não resolve nada e desaparecerá no reinício).

No POV da sessão ao vivo, sua instalação quebrada será montada em algo como /media/ubuntu/ae7r0-9s90s-ejf8d-d9d9f (valor não real, mas algum hash longo semelhante a isso). Você pode ter que navegar para ele no explorador de arquivos para obter a pasta para aparecer.

Então, na sessão ao vivo, você extrairia usando um comando como o seguinte:

sudo dpkg -x zlib1g_1.2.8.dfsg-2ubuntu4_amd64.deb /media/ubuntu/ae7r0-9s90s-ejf8d-d9d9f/

Quando o libz.so.1 ausente for restaurado para /media/ubuntu/ae7r0-9s90s-ejf8d-d9d9f/lib/x86_64-linux-gnu/ , você poderá reiniciar, executar sudo apt-get install --reinstall zlib1g em tty1 e reinicializar em um sistema em funcionamento novamente.

    
por SlugFrisco 13.07.2018 / 05:27
-1

Ok, desde que arrastei o arquivo original, não consegui apt nem descompactar ou usar rpm ou alien . Consegui encontrar uma versão do RPM, mas não consegui tirar o binário porque nenhuma das ferramentas que dependem da compactação funcionou. Então, eu carreguei o RPM para o Convertio e o convertei em um tar, baixei e extraí-lo e coloquei de volta onde ele pertence.

Bem, lição aprendida, tenha cuidado com essas bibliotecas compartilhadas!

    
por bdetweiler 14.05.2018 / 04:40