eu apaguei libssl.so.10

7

Eu não posso apt-get, eu apaguei libssl.so.10

a maioria dos comandos, incluindo o wget, me fornece algo para as extremidades do libssl.so.10: não é possível abrir o arquivo de objeto compartilhado: Nenhum desses arquivos ou diretórios

existe uma maneira confiável de fazer o backup de todos os meus dados enquanto ainda tenho uma conexão ativa.

    
por Jay 18.07.2013 / 21:49

4 respostas

1

Você realmente excluiu o arquivo real .so ou apenas o link que apontava para o arquivo real .so, assim os criadores da biblioteca podem atualizar dinamicamente as bibliotecas sem recompilar todos os programas do sistema.

se você excluiu somente o softlink, vamos encontrá-lo!

Use

find /usr/lib | grep libssl

para localizar o arquivo .so real, se você o encontrou, recrie o link suave com:

 ln /usr/lib/path/to/real/libssl /lib/libssl.so.10

Talvez os programas (agora: apt-get) tentem alcançar as bibliotecas compartilhadas em um caminho especificado, que compilado no programa, localize seu programa com:

which apt-get

(meu resultado é: / usr / bin / apt-get)

e encontre no programa os locais "potenciais" de bibliotecas compartilhadas com:

strings /path/to/your/program

(meu resultado é:

/lib64/ld-linux-x86-64.so.2
libapt-pkg.so.4.12
libutil.so.1
libstdc++.so.6
libm.so.6
libgcc_s.so.1
libc.so.6
__libc_start_main
   install - Install new packages (pkg is libc6 not libc6.deb)

aha é usado estaticamente /lib64/ld-linux-x86-64.so.2

(Parece que meu apt-get foi compilado sem libsl)

Vamos tentar!

    
por 19.07.2013 / 01:22
12

A melhor coisa a fazer seria encontrar libssl.so.10 de um computador funcional rodando a mesma versão do openssl que você estava (uma máquina centos diferente rodando a mesma versão deve ser suficiente), e usar um pendrive para copiar o arquivo. arquivo de volta no lugar.

    
por 18.07.2013 / 22:12
9

Para corrigir isso, você precisa substituir o arquivo. Uma maneira mencionada é copiar a biblioteca de outro sistema, outra forma é reinstalar o pacote que a fornece.

Você mencionou o uso de apt-get , então vou assumir que você está usando o Ubuntu. O primeiro passo é ver exatamente qual pacote você precisa instalar para esse arquivo. Se você executar o comando '

dpkg -S libssl.so.10

Você terá uma saída semelhante a essa, do meu sistema Ubuntu 12.04.2

libssl1.0.0: /lib/x86_64-linux-gnu/libssl.so.1.0.0

Em seguida, executar dpkg -l | grep libssl1.0.0 me dá

ii  libssl1.0.0                          1.0.1-4ubuntu5.10                        SSL shared libraries

Isso nos diz que preciso encontrar libssl1.0.0 version 1.0.1-4ubuntu5.10 e instalá-lo. Os pacotes podem ser baixados de

http://us.archive.ubuntu.com/ubuntu/pool/main/o/openssl/

Pesquisando nessa lista, posso descobrir que preciso baixar o arquivo libssl1.0.0_1.0.1-4ubuntu5.10_amd64.deb usando o método de sua escolha.

Depois de baixar o arquivo, você pode reinstalar o pacote emitindo um

dpkg -i libssl1.0.0_1.0.1-4ubuntu5.10_amd64.deb 

Que alguma sorte você vai ser agora o novo proprietário de um novo libssl.

    
por 19.07.2013 / 00:55
1

Eu tive um problema semelhante a isso no passado. A solução final foi eu instalar o sistema operacional do servidor no meu laptop com o VirtualBox instalado. Eu fui buscar os arquivos do meu guest virtualbox e colocá-los no servidor usando um drive USB como @Falcon Momot metioned. Uma coisa boa saiu disso para mim. Acabei usando o VirtualBox para brincar com coisas antes de fazer isso no servidor real.

    
por 19.07.2013 / 00:21