atualize com segurança o glibc no CentOS 7

2

Eu tentei um aplicativo python na minha máquina do CentOS e isso me deu o seguinte erro:

ImportError: /usr/lib64/libc.so.6: version 'GLIBC_2.18' not found (required by /tmp/_MEI2BYIr4/libstdc++.so.6)

Eu tenho tentado atualizar o GLIBC, mas depois de ter lido alguns fóruns, parece que eu poderia quebrar o sistema. Você conhece alguma alternativa?

Obrigado

    
por Paco el Cuqui 29.01.2018 / 16:16

2 respostas

2

No final, não precisei atualizar o GLIBC. A ferramenta gdc-client que eu baixei pelo R parecia ser para o Ubuntu e não para o CentOS, embora eu tenha feito isso no CentOS 7. Eu então baixei o gdc-client para o CentOS e ele funcionou bem.

    
por 01.02.2018 / 10:44
0

Verifique se é realmente necessário

Em primeiro lugar, verifique o aplicativo python, pois ele pode estar desatualizado e provavelmente está interpretando mal a versão glibc . O CentOS mostra a versão base como instalada e é corrigida para acompanhar as mudanças e pode ser apenas um caso de consertar a versão que está sendo procurada no código como uma correção rápida, mas se o aplicativo estiver sendo desenvolvido ativamente você precisa informe os desenvolvedores ou bifurque-os por si mesmo, se puder.

Um glibc atualizado no CentOS 7 deve ser 2.17-196.el7_4.2

Se necessário, Containerise

Se for absolutamente necessário executar este aplicativo, a abordagem oficial do RHEL seria contêiner, mas você ainda precisaria fornecer um glibc funcional, o que não seria possível com o estoque do CentOS 7.

Como último recurso, instale glibc em um local não padrão

Se isso não for viável, e como último recurso absoluto, é possível instalar uma versão mais recente de glibc do que 2.18, já que tem cinco anos agora e o glibc foi atualizado para várias vulnerabilidades e eu Não tenho certeza se vou construir com a versão de make no CentOS 7, mas qualquer versão mais nova deve funcionar da seguinte maneira:

  • Isso pode afetar potencialmente a funcionalidade do seu computador. Verifique se você sabe o que está fazendo

Você pode criar a versão de glibc que você precisa em outro lugar no seu servidor e adicioná-la a LD_LIBRARY_PATH do aplicativo. Observe que isso deve ser feito apenas para o aplicativo.

wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
tar zxvf glibc-2.18.tar.gz
cd glibc-2.14
mkdir build
cd build
../configure --prefix=/opt/glibc-2.18
make -j4
make install
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/glibc-2.18/lib

/opt é o local padrão para instalar aplicativos e bibliotecas de terceiros, mas você pode usar qualquer caminho longe dos caminhos do sistema.

    
por 29.01.2018 / 23:17