LFSから/ toolsを削除するときに発生する可能性のある問題

LFSから/ toolsを削除するときに発生する可能性のある問題

最近最初からLinuxを構築しましたが、/toolsディレクトリを削除したいと思います。しかし、走る前に走った。

ldd /bin/* | ldd /bin/* | grep '/ツール'

これは私にこれを与える

liblzma.so.5 => /tools/lib/liblzma.so.5 (0x00007fd7e82f9000)
libpthread.so.0 => /tools/lib/libpthread.so.0 (0x00007fd7e7ec3000)
libc.so.6 lib/libc.so.6 (0x00007fd7e7b1f000)
liblzma.so.5 => /tools/lib/liblzma.so.5 (0x00007f2ff2852000)
libpthread.so.0 => /tools/lib/libpth000
libc.so.6 => /tools/lib/libc.so.6 (0x00007f2ff2078000)

その後、出力を手動で確認してldd発見しました。

/bin/kmod: linux-vdso.so.1 (0x00007ffd71dbd000)
liblzma.so.5 => /tools/lib/liblzma.so.5 (0x00007f14721ab000)
libz.so.1 => /lib/libz.so.1 (0x00007f1471f92000)
libpthread.so.0 => /tools/lib/libpthread.so.0 (0x00007f1471d75000)
libc.so.6 => /tools/lib/libc.so.6 (
0x000007 x86-64.so.2 (0x00007f14723d0000)

そして

/bin/lsmod:
linux-vdso.so.1 (0x00007ffcc1db7000)
liblzma.so.5 => /tools/lib/liblzma.so.5 (0x00007f3cb7285000)
libz.so.1 => /lib/libz.so.1 (0x00007f3cb706c000)
libpthread.so.0 => /tools/lib/libpthread.so.0 (0x00007f3cb6e4f000)
libc.so.6 => /tools/lib/libc.so.6 (
0x000006 x86-64.so.2(0x00007f3cb74aa000)

/tools唯一のケースだけを参照しているようですkmodlsmod 他の項目を確認しましたが、すべて正しい項目を指しています。例えば

/bin/lzcat:
linux-vdso.so.1 (0x00007ffdee0db000)
liblzma.so.5 => /lib/liblzma.so.5 (0x00007ff6cb537000)
libpthread.so.0 => /lib/libpthread.c000 ) )
libc.so.6 => /lib/libc.so.6 (0x00007ff6caf76000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff6cb75c000)

ここではすべてを指していることに注意してください/lib

それでは、続行する必要がありますか?

答え1

おそらく。

出力には、lddバイナリが使用するライブラリの名前が含まれます。後ろに検索ライブラリ 検索パスです。ディレクトリを指すいくつかの/tools設定($LD_LIBRARY_PATHエントリなど)がある場合は、ld.so.confそれらを削除してみてください。これを行った後にlddディレクトリを指さないと大丈夫でしょう。/tools

もしそうなら、バイナリはセットRPATHにコンパイルされたでしょう。 Anは、RPATHコンパイルされたバイナリに格納されている共有ライブラリのハードコードされた場所です。いくつかの極端なケースでは役に立つかもしれませんが、あなたの場合は間違いなく役に立ちません。設定されている場合というツールを使用してchrpath変更または削除できます。

関連情報