修正する

修正する

動的依存関係を実装するためにELF変数を使用しようとしていますRUNPATH。この処理中に Changed をbash含むバイナリコピーを取得し、それを実行すると次のものが返されます。RUNPATHldd

$ ldd ./bash 
    linux-vdso.so.1 =>  (0x00007ffe6bdf9000)
    libtinfo.so.5 (0x00007fbf8b97c000)
    libdl.so.2 (0x00007fbf8b776000)
    libc.so.6 (0x00007fbf8b3a5000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fbf8bba7000)

- 自分のカスタムアイテムに依存アイテムへのパスがないのはなぜですかRUNPATHnot foundこれはどういう意味ですか?

私の推測は次のとおりです。 lddファイルが見つかりませんが、メモリ内にあり(括弧内の数字はアドレスです)、ldd現金メカニズムによって何らかの方法で知られています。これは正しいですか?しかし、なぜlddファイルが見つかりませんか?からインポートできない場合は、RUNPATH標準ディレクトリに移動し続ける必要があります。そうですか?

修正する

私は今日ファイルを見つけました(それで昨日は現金でしたか?)。

$ cd dir_chroot2/
$ ldd ./bash
    linux-vdso.so.1 =>  (0x00007ffed3530000)
    libtinfo.so.5 => /home/.../dir_chroot2/./libtinfo.so.5 (0x00007f72c14a8000)
    libdl.so.2 => /home/.../dir_chroot2/./libdl.so.2 (0x00007f72c12a1000)
    libc.so.6 => /home/.../dir_chroot2/./libc.so.6 (0x00007f72c0ed0000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f72c16d4000)

- バイナリとすべてのライブラリがあるld-linux-x86-64.so.2にもかかわらず、まだシステムディレクトリからインポートされます。なぜですか?どういうわけか接続されていますか?bashRUNPATH=$ORIGIN/linux-vdso.so.1

ベストアンサー1

おすすめ記事