ldd <name>
バイナリでコマンドを実行するのか、/bin
それとも/sbin
どのライブラリを使用しているのかを知ることができます。どうやって逆にできますか?つまり、ファイルに対してコマンドを実行し、/lib
どのバイナリがそれを使用しているかを確認しますか?
ベストアンサー1
これはまさにあなたが要求したものではありませんが、これは特定のライブラリを使用するバイナリのリストを見つけるのに役立ちます。binstats
システムのバイナリとライブラリに関するレポートを生成し、主にライブラリが見つからないバイナリと廃止されたライブラリを特定します。
デバッグモードでは一時ファイルを残します。そのうちの1つは、-b
パス(またはこのオプションで指定されたフォルダ)のすべてのバイナリと、使用するすべてのライブラリを一覧表示します。このファイルがある場合は、目的のライブラリを検索してそのライブラリの機能を確認できます。
だから基本的に:
binstats -d
awk '/^\// { binary=$1 }; /libtinfo.so.5/ { print binary }' etempb.00
すべての用途を一覧表示しますlibtinfo.so.5
。 (ファイル名ではないかもしれませんが、etempb.00
ご理解ください...)
これにより、パスではなくディレクトリに格納されているバイナリが失われます。例えばin/usr/libexec
またはin /sbin
and in /usr/sbin
(次に実行しない場合)が、そのオプションroot
に関連フォルダを追加できます。-b