2

libssl にリンクしている Red Hat Linux システム上のすべての実行可能ファイルを一覧表示するにはどうすればよいですか? 私は近づくことができます:

find / -type f -perm /a+x -exec ldd {} \; | grep libssl   

ldd は、実行可能ファイルがリンクしているライブラリを表示しますが、ライブラリ名を含む行にはファイル名も表示されないため、grep で多くの一致が得られますが、一致が発生した実行可能ファイル。どんな助けでも大歓迎です。

4

4 に答える 4

4
find / -type f -perm /a+x -print0 |
    while read -d $'\0' FILE; do
        ldd "$FILE" | grep -q libssl && echo "$FILE"
    done
于 2010-08-24T17:42:21.983 に答える
1

よくわかりませんが、多分sudo lsof |grep libssl.so

于 2010-08-24T17:40:54.297 に答える
0
find /usr/bin/ -type f -perm /a+x | while read i; do match=`ldd $i | grep libssl`; [[ $match ]] && echo $i; done

-exec を使用する代わりに、while ループにパイプし、ファイル名をエコーする前に一致をチェックします。オプションで、() または実際の if/then/fi ブロックを使用して、一致のチェックに "ldd $i" を追加できます。

于 2010-08-24T17:43:12.923 に答える
0
find / -type f -perm /a+x -xdev | while read filename ; do
  if ldd "$filename" | grep -q "libssl" ; then
    echo "$filename"
  fi
done

findは-xdev同じファイルシステムにとどまります (つまり、/proc または /sys には飛び込みません)。注: これを Mac OS X で作成した場合、あなたの -perm はここでは機能しないため、正しいかどうかわかりません。そして、ldd私が使用した代わりにotool -L、結果は同じになるはずです。

于 2010-08-24T17:46:05.633 に答える