7.5. Obtenção manual de pacotes de debuginfo para uma aplicação ou biblioteca
Você pode determinar manualmente quais pacotes debuginfo
você precisa instalar, localizando o arquivo executável e depois encontrando o pacote que o instala.
A Red Hat recomenda que você use a GDB para determinar os pacotes para instalação. Use este procedimento manual somente se a GDB não for capaz de sugerir o pacote a ser instalado.
Pré-requisitos
- A aplicação ou biblioteca deve ser instalada no sistema.
- A aplicação ou biblioteca foi instalada a partir de um pacote.
-
A ferramenta
debuginfo-install
deve estar disponível no sistema. -
Os canais que fornecem os pacotes
debuginfo
devem ser configurados e habilitados no sistema.
Procedimento
Encontre o arquivo executável da aplicação ou biblioteca.
Use o comando
which
para encontrar o arquivo de aplicação.$ which less /usr/bin/less
Use o comando
locate
para encontrar o arquivo da biblioteca.$ locate libz | grep so /usr/lib64/libz.so.1 /usr/lib64/libz.so.1.2.11
Se os motivos originais para depuração incluírem mensagens de erro, escolha o resultado onde a biblioteca tem os mesmos números adicionais em seu nome de arquivo que aqueles mencionados nas mensagens de erro. Em caso de dúvida, tente seguir o restante do procedimento com o resultado onde o nome do arquivo da biblioteca não inclui números adicionais.
NotaO comando
locate
é fornecido pelo pacotemlocate
. Para instalá-lo e permitir seu uso:# yum install mlocate # updatedb
Procure por um nome e uma versão do pacote que forneceu o arquivo:
$ rpm -qf /usr/lib64/libz.so.1.2.7 zlib-1.2.11-10.el8.x86_64
A saída fornece detalhes para o pacote instalado no formato name:epoch-version.release.architecture.
ImportanteSe esta etapa não produzir nenhum resultado, não é possível determinar qual pacote forneceu o arquivo binário. Há vários casos possíveis:
- O arquivo é instalado a partir de um pacote que não é conhecido pelas ferramentas de gerenciamento de pacotes em sua configuração current.
-
O arquivo é instalado a partir de um pacote baixado localmente e instalado manualmente. Determinar um pacote adequado
debuginfo
automaticamente é impossível nesse caso. - Suas ferramentas de gerenciamento de pacotes estão mal configuradas.
-
O arquivo não é instalado a partir de nenhum pacote. Em tal caso, não existe o respectivo pacote
debuginfo
.
Como os passos seguintes dependem desta, você deve resolver esta situação ou abortar este procedimento. A descrição exata das etapas de solução de problemas está além do escopo deste procedimento.
Instale os pacotes
debuginfo
usando o utilitáriodebuginfo-install
. No comando, use o nome do pacote e outros detalhes que você determinou durante a etapa anterior:# debuginfo-instalar zlib-1.2.11-10.el8.x86_64