GNU/Linux >> Tutoriales Linux >  >> Linux

¿Hay alguna manera de inspeccionar el rpath actual en Linux?

Para que conste, aquí hay un par de comandos que mostrarán el rpath encabezado.

objdump -x binary-or-library |grep RPATH

Tal vez una forma aún mejor de hacerlo sea la siguiente:

readelf -d binary-or-library |head -20

El segundo comando también enumera las dependencias directas de otras bibliotecas seguidas de rpath .


#include <stdio.h>
#include <elf.h>
#include <link.h>

int main()
{
  const ElfW(Dyn) *dyn = _DYNAMIC;
  const ElfW(Dyn) *rpath = NULL;
  const char *strtab = NULL;
  for (; dyn->d_tag != DT_NULL; ++dyn) {
    if (dyn->d_tag == DT_RPATH) {
      rpath = dyn;
    } else if (dyn->d_tag == DT_STRTAB) {
      strtab = (const char *)dyn->d_un.d_val;
    }
  }

  if (strtab != NULL && rpath != NULL) {
    printf("RPATH: %s\n", strtab + rpath->d_un.d_val);
  }
  return 0;
}

También puedes usar:

chrpath -l binary-or-library

Linux
  1. ¿La mejor manera de implementar el soporte de teclas de acceso rápido en Linux?

  2. ¿Alguna forma de saber el tamaño de L1, L2, L3 Cache y RAM en Linux?

  3. RDP Linux a Windows:¡La forma más fácil 2019!

  4. ¿Existe un equivalente a .Net FileSystemWatcher en el mundo de Linux?

  5. ¿Hay alguna forma de alterar los colores utilizados en las consolas TTY en Linux?

Las 8 distribuciones de Linux más populares disponibles en el mercado

Comprender los niveles de ejecución de Linux de la manera correcta

EndeavourOS – Aprende Arch de la manera correcta

¿Cuál es la fuente actual del kernel de Linux?

Linux:¿hay alguna forma de identificar la velocidad de su memoria a través del software?

¿Hay un whoami para encontrar el grupo actual en el que estoy conectado?