Java JDKの依存関係リストにlibjli.soパスがない、Debian
私はchroot刑務所の作成をスクリプト化しています。その自動化の一部には、さまざまな実行可能ファイルとその依存関係を刑務所にコピーすることが含まれます。次のbash行を使用して、依存関係のリストからファイルパスを解析しています(Javaなど)。 $ ldd `which java` | grep -o '/[^()]*' /lib/x86_64-linux-gnu/libz.so.1 /lib/x86_64-linux-gnu/libpthread.so.0 /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2 これはNode.jsとPythonに最適ですがjava、jail内から実行しようとすると、エラーが発生します。 java:共有ライブラリのロード中にエラーが発生しました:libjli.so:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません libjli.soパスが依存関係のリストから欠落していることがわかります...少なくともldd私たちを示すもの(5行目): $ ldd `which java` linux-vdso.so.1 => (0x00007ffff7f4d000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f7ac3928000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7ac370c000) libjli.so => not found libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7ac3507000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7ac317c000) /lib64/ld-linux-x86-64.so.2 (0x00007f7ac3b48000) ファイルを見つけました... $ find /usr/lib …