GNU/Linux >> Linux Esercitazione >  >> Linux

C'è un modo per ispezionare l'attuale rpath su Linux?

Per la cronaca, ecco un paio di comandi che mostreranno rpath intestazione.

objdump -x binary-or-library |grep RPATH

Forse un modo ancora migliore per farlo è il seguente:

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

Il secondo comando elenca anche le dipendenze dirette su altre librerie seguite da 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;
}

Puoi anche usare:

chrpath -l binary-or-library

Linux
  1. Come eseguire l'aggiornamento a Linux Mint 20.3:il modo giusto

  2. Qual è l'attuale runlevel del sistema Linux?

  3. Linux:come si controllano le informazioni sulla struttura delle directory di un file Unix/linux?

  4. Confronta due immagini in modo python/linux

  5. C'è STDCALL in Linux?

Le 8 distribuzioni Linux più popolari disponibili là fuori

Comprendere i runlevel di Linux nel modo giusto

EndeavourOS – Impara Arch nel modo giusto

Qual è il modo migliore per imparare SELinux?

C'è un whoami per trovare il gruppo corrente con cui ho effettuato l'accesso?

C'è un modo per ottenere la versione del BIOS da Linux?