Primeiro de você precisa perceber que se você receber uma mensagem como esta, o aplicativo que você está tentando executar não é destinado a esta plataforma / distribuição. Então, é muito provável que ele caia da maneira mais dolorosa, pegando todos os seus arquivos, dinheiro e casa:)
Especialmente, isso está relacionado ao (g) libc, pois ele é estreitamente ajustado ao kernel ABI e executar o glibc compilado para a versão diferente do ABI é arriscado. Essa é a razão por trás do versionamento de bibliotecas.
Se, depois de todos esses avisos, você quiser testá-lo, poderá usar, na ordem de complexidade, o seguinte:
-
Descompacte a biblioteca apropriada no mesmo catálogo, onde seu aplicativo está (ou qualquer outro catálogo diferenciado) e execute o
app
como:LD_LIBRARY_PATH=. ./app
Você pode verificar se a biblioteca certa é obtida testando com LD_LIBRARY_PATH=. ldd ./app
. Cuidado, isso não funcionará para root
user e suid applications.
-
Você pode realmente tentar criar um ambiente com chroot para o aplicativo. Lembre-se de que a chamada
chroot
redefine o local do diretório raiz (/) do aplicativo que é executado sob ele. Na prática, isso significa que você precisa fornecer não apenas a bibliotecaglibc
de substituição, mas ALL as bibliotecas usadas pelo aplicativo e as bibliotecas usadas por essas bibliotecas e assim por diante, até que você tenha tudo isso criaria um ambiente auto-suficiente. Isso também implica a presença de pelo menos os dispositivos/dev/null
,/dev/stdin
,/dev/stdout
e/dev/log
, bem como os arquivos/etc/passwd
e/etc/group
. O bom exemplo de tal ambiente no Debian épostfix
installation (confira/var/spool/postfix/
). O comando de lançamento em si seria simples:chroot /home/of/chrooted/app ./app
-
A melhor e mais fácil forma seria o uso da
docker
e da imagem apropriada, adequada ao seu aplicativo. Instalar odocker
é um tópico enorme por si só, você pode começar com o Guia de instalação do Docker . Um pré-requisito para isso, embora o kernel do Linux seja maior que 3.8+. Além dessa limitação, é a melhor maneira de executar um aplicativo que exige diferentes configurações de distribuição / bibliotecas.
Além disso, verifique como executar um novo software sem atualizar o GLIBC