7.5. Obtener manualmente los paquetes debuginfo de una aplicación o biblioteca
Puede determinar manualmente qué paquetes de debuginfo
necesita instalar localizando el archivo ejecutable y luego encontrando el paquete que lo instala.
Red Hat recomienda que utilice GDB para determinar los paquetes a instalar. Utilice este procedimiento manual sólo si GDB no es capaz de sugerir el paquete a instalar.
Requisitos previos
- La aplicación o biblioteca debe estar instalada en el sistema.
- La aplicación o biblioteca se instaló desde un paquete.
-
La herramienta
debuginfo-install
debe estar disponible en el sistema. -
Los canales que proporcionan los paquetes
debuginfo
deben estar configurados y habilitados en el sistema.
Procedimiento
Encuentra el archivo ejecutable de la aplicación o biblioteca.
Utilice el comando
which
para encontrar el archivo de la aplicación.$ which less /usr/bin/less
Utilice el comando
locate
para encontrar el archivo de la biblioteca.$ locate libz | grep so /usr/lib64/libz.so.1 /usr/lib64/libz.so.1.2.11
Si los motivos originales de la depuración incluyen mensajes de error, elija el resultado en el que la biblioteca tiene los mismos números adicionales en su nombre de archivo que los mencionados en los mensajes de error. En caso de duda, intente seguir el resto del procedimiento con el resultado en el que el nombre del archivo de la biblioteca no incluye números adicionales.
NotaEl comando
locate
es proporcionado por el paquetemlocate
. Para instalarlo y habilitar su uso:# yum install mlocate # updatedb
Busca el nombre y la versión del paquete que proporcionó el archivo:
$ rpm -qf /usr/lib64/libz.so.1.2.7 zlib-1.2.11-10.el8.x86_64
La salida proporciona detalles del paquete instalado en el formato name:epoch-version.release.architecture.
ImportanteSi este paso no produce ningún resultado, no es posible determinar qué paquete proporcionó el archivo binario. Hay varios casos posibles:
- El archivo se instala desde un paquete que no es conocido por las herramientas de gestión de paquetes en su configuración current.
-
El archivo se instala a partir de un paquete descargado localmente e instalado manualmente. En ese caso es imposible determinar automáticamente un paquete
debuginfo
adecuado. - Sus herramientas de gestión de paquetes están mal configuradas.
-
El archivo no se instala desde ningún paquete. En tal caso, no existe ningún paquete respectivo de
debuginfo
.
Dado que los pasos posteriores dependen de éste, debe resolver esta situación o abortar este procedimiento. Describir los pasos exactos de la solución de problemas está fuera del alcance de este procedimiento.
Instale los paquetes de
debuginfo
utilizando la utilidaddebuginfo-install
. En el comando, utilice el nombre del paquete y otros detalles que determinó durante el paso anterior:# debuginfo-install zlib-1.2.11-10.el8.x86_64