GNU/Linux >> Linux の 問題 >  >> Linux

Linux で現在の rpath を検査する方法はありますか?

記録として、rpath を表示するコマンドをいくつか示します。 ヘッダー。

objdump -x binary-or-library |grep RPATH

おそらく、それを行うためのさらに良い方法は次のとおりです:

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

2 番目のコマンドは、他のライブラリへの直接の依存関係もリストし、その後に 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;
}

以下も使用できます:

chrpath -l binary-or-library

Linux
  1. RDP Linux から Windows へ:最も簡単な方法 2019!

  2. Linux の TTY コンソールで使用される色を変更する方法はありますか?

  3. Linux - ソフトウェアでメモリの速度を特定する方法はありますか?

  1. Linux Mint 20.3にアップグレードする方法:正しい方法

  2. Linuxでホットキーサポートを実装する最良の方法は?

  3. ログインしている現在のグループを見つけるための whoami はありますか?

  1. Linux – Unix / linuxファイルのディレクトリ構造情報をどのように検査しますか?

  2. LinuxでL1、L2、L3キャッシュ、RAMのサイズを知る方法はありますか?

  3. Linux – Linuxで現在の日付のファイルを取得しますか?