GNU/Linux >> Znalost Linux >  >> Linux

Existuje způsob, jak zkontrolovat aktuální rpath v Linuxu?

Pro záznam, zde je několik příkazů, které zobrazí rpath záhlaví.

objdump -x binary-or-library |grep RPATH

Možná ještě lepší způsob, jak to udělat, je následující:

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

Druhý příkaz také vypisuje přímé závislosti na jiných knihovnách následované 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;
}

Můžete také použít:

chrpath -l binary-or-library

Linux
  1. RDP Linux to Windows:Nejjednodušší cesta 2019!

  2. Existuje ve světě Linuxu ekvivalent k .Net FileSystemWatcher?

  3. Jaký je aktuální zdrojový kód jádra Linuxu?

  1. Linux – Existuje nějaký způsob, jak zjistit rychlost vaší paměti pomocí softwaru?

  2. Jaký je nejlepší způsob, jak se naučit SELinux?

  3. Existuje whoami k nalezení aktuální skupiny, ve které jsem přihlášen?

  1. Jak upgradovat na Linux Mint 20.3:Správná cesta

  2. Jaká je aktuální úroveň běhu systému Linux?

  3. Linux – Jak lze zkontrolovat informace o struktuře adresářů souboru Unix/linux?