GNU/Linux >> Tutoriels Linux >  >> Linux

Existe-t-il un moyen d'inspecter le rpath actuel sous Linux ?

Pour mémoire, voici quelques commandes qui afficheront le rpath en-tête.

objdump -x binary-or-library |grep RPATH

Peut-être qu'une meilleure façon de procéder est la suivante :

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

La deuxième commande répertorie également les dépendances directes sur d'autres bibliothèques suivies 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;
}

Vous pouvez également utiliser :

chrpath -l binary-or-library

Linux
  1. RDP Linux vers Windows :le moyen le plus simple 2019 !

  2. Existe-t-il un équivalent au .Net FileSystemWatcher dans le monde Linux ?

  3. Comparez deux images à la manière python/linux

  4. Quelle est la source actuelle du noyau Linux ?

  5. Existe-t-il un moyen de modifier les couleurs utilisées dans les consoles TTY sous Linux ?

Linux - Obtenir des fichiers pour la date actuelle sous Linux ?

Les 8 distributions Linux les plus populaires disponibles

Comprendre les niveaux d'exécution Linux de la bonne façon

EndeavourOS - Apprendre Arch de la bonne façon

Existe-t-il STDCALL sous Linux ?

Existe-t-il un whoami pour trouver le groupe actuel auquel je suis connecté ?