Slackware e BIND - Corrigindo erro em chroot após upgrade
Após atualizar meu BIND (pacote bind-9.4.3_P4-x86_64-1.txz) no Slackware 13.1 para uma versão recente (bind-9.9.3_P2-x86_64-1), me deparei com o seguinte erro:
# tail /var/log/messages
 named[9513]: error:25070067:DSO support
 routines:DSO_load:could not load the shared library:dso_lib.c:244:
   named[9513]: error:260B6084:engine routines:
 DYNAMIC_LOAD:dso not found:eng_dyn.c:450:
   named[9513]: error:2606A074:engine routines:
 ENGINE_by_id:no such engine:eng_list.c:417:id=gost
         
Após pesquisar, percebi que ele procura a biblioteca do SSL libgost.so na jaula (chroot).
Vamos rodar os comandos para encontra-la:
# updatedb
# locate libgost.so
Deve retornar algo do tipo:
 /usr/lib64/engines/libgost.so
    
O erro também mostra como seu BIND foi compilado, basta prestar atenção em /var/log/messages, e verá algo do tipo:
 named[9513]: built with '--prefix=/usr' '--libdir=/usr/lib64' '--sysconfdir=/etc' '--localstatedir=/var' '--with-libtool' '--with-idn=/usr' '--mandir=/usr/man' '--enable-shared' '--disable-static' '--enable-threads' '--build=x86_64-slackware-linux' 'build_alias=x86_64-slackware-linux' 'CFLAGS=-O2 -fPIC' '--with-openssl=/usr'
    
Vejo que o meu SSL está em /usr, logo em lib64/engines/, então, devemos criar uma estrutura de diretórios parecida dentro da jaula (chroot).
Vá para dentro da sua jaula:
# mkdir -p usr/lib64/engines/
Agora, copie a biblioteca para a pasta engines na sua jaula:
# cp /usr/lib64/engines/libgost.so /jaula/named/usr/lib64/engines/
Após isso, é só reiniciar seu BIND e se tudo ocorrer bem, será exibida uma mensagem parecida com essa:
# sh /etc/rc.d/rc.bind restart
 named[9535]: all zones loaded
 named[9535]: running
    
Obs.: caso sua biblioteca seja encontrada em /usr/local/ssl/lib/engines, por exemplo, terá que criar a mesma estrutura que for encontrada.
Outras dicas deste autor
  PHP - Fatal error:  Allowed memory size of  bytes exhausted [Resolvido]
  Shellshock (Slackware): Falha de segurança grave no bash [Resolvido]
  Como descobrir seu IP externo com cURL
  Corrigir Heartbleed OpenSSL no Slackware
  Atualizando microcódigo de processadores AMD
Leitura recomendada 
  Usando o RealPlayer em página HTML
  Como resolver os erros 'a start job is running for wait for network to be configured' e 'a start job is running for raise network interfaces'
  Instalando e ativando templates no Joomla
  Linha de comando pra pegar seu IP
  Instalação do aMule no Slackware 10.2
 
  
Comentários
Nenhum comentário foi encontrado.