Por padrão, algumas distros vêm com o OpenSSL numa versão maior que a desejada. No entanto, há situações em que aplicativos legados/antigos exigem uma versão anterior, como o OpenSSL 1.1.1o. Instalar diretamente essa versão mais antiga no sistema pode ser arriscado, pois pode entrar em conflito com as bibliotecas padrão e comprometer a estabilidade do sistema.
O Risco de Instalar Diretamente
A instalação de uma versão mais antiga do OpenSSL, como a 1.1.1o, substituindo a versão padrão do sistema, pode causar problemas de compatibilidade com pacotes que dependem do OpenSSL 3.0.2. Isso inclui ferramentas críticas do sistema, gerenciadores de pacotes e serviços de rede.
Felizmente, há uma abordagem mais segura e flexível: compilar a versão necessária do OpenSSL em um diretório isolado no seu HOME
, sem afetar o restante do sistema.
Instalando OpenSSL 1.1.1o em Ambiente Isolado
A seguir está um passo a passo para compilar e usar o OpenSSL 1.1.1o de forma segura:
# Crie um diretório para instalar a nova versão
$ mkdir -p $HOME/opt && cd $HOME/opt
# Baixe o código-fonte da versão desejada
$ wget https://www.openssl.org/source/openssl-1.1.1o.tar.gz
# Extraia o conteúdo
$ tar -zxvf openssl-1.1.1o.tar.gz
$ cd openssl-1.1.1o
# Compile e teste a biblioteca
$ ./config && make && make test
# Crie um diretório para armazenar as bibliotecas compartilhadas
$ mkdir -p $HOME/opt/lib
# Copie apenas os arquivos necessários
$ cp libssl.so.1.1 libcrypto.so.1.1 $HOME/opt/lib/
Depois disso, para usar essas bibliotecas sem afetar o sistema, basta exportar a variável de ambiente LD_LIBRARY_PATH
:
export LD_LIBRARY_PATH=$HOME/opt/lib:$LD_LIBRARY_PATH
ocê pode adicionar essa linha ao seu ~/.bashrc
ou ~/.zshrc
se quiser que o caminho seja carregado automaticamente ao iniciar o terminal.
Vantagens Dessa Abordagem
- Isolamento completo: não há interferência com bibliotecas do sistema.
- Remoção simples: basta apagar o diretório onde a biblioteca foi compilada.
- Flexibilidade: é possível alternar entre versões diferentes apenas mudando a variável
LD_LIBRARY_PATH
. - Compatibilidade com múltiplos projetos: cada projeto pode usar sua própria versão do OpenSSL, sem conflitos.
Conclusão
Evite substituir bibliotecas sensíveis do sistema como o OpenSSL diretamente em distros mais novas. Se você precisa do OpenSSL 1.1.1o por motivos de compatibilidade, essa abordagem baseada em ambiente isolado é a forma mais segura e prática de atender à sua necessidade. Preserve a integridade do seu sistema e mantenha a flexibilidade de desenvolvimento!
Obrigado. Essa dica foi bem útil.
Estou dando suporte num projeto que usa ruby-2.6 e precisei instalar essa lib.