バイナリが使用しているライブラリを表示する

alkoshikawa 217views 更新:2014年10月21日

RPMとMakeで入れたものが混在している環境ではサーバーリブートした後などに
ソフトの挙動が変わったりすることがあるんですが、
環境変数などの影響によって使用しているライブラリが変わることが原因のことがあります。

以下で使用しているライブラリを見ることができます、s3fsなどで試すと

whereis s3fs
s3fs: /usr/bin/s3fs /usr/share/man/man1/s3fs.1

ldd /usr/bin/s3fs
        libfuse.so.2 => /usr/local/lib/libfuse.so.2 (0x00002ad7c7675000)
        librt.so.1 => /lib64/librt.so.1 (0x000000364f600000)
        libcurl.so.3 => /usr/lib64/libcurl.so.3 (0x0000003a64c00000)
        libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x0000003ce3e00000)
        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x0000003ce3a00000)
        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x0000003ce4200000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003ce2e00000)
        libidn.so.11 => /usr/lib64/libidn.so.11 (0x000000364de00000)
        libssl.so.6 => /lib64/libssl.so.6 (0x0000003a64800000)
        libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00000030d7c00000)
        libcrypto.so.6 => /lib64/libcrypto.so.6 (0x0000003a64400000)
        libdl.so.2 => /lib64/libdl.so.2 (0x000000364e600000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00000030d7000000)
        libm.so.6 => /lib64/libm.so.6 (0x000000364ee00000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000030d6c00000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x000000364ea00000)
        libc.so.6 => /lib64/libc.so.6 (0x000000364e200000)
        /lib64/ld-linux-x86-64.so.2 (0x000000364da00000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x000000364f200000)
        libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x0000003ce3600000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003652600000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003652e00000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003ce2200000)
        libsepol.so.1 => /lib64/libsepol.so.1 (0x000000364fe00000)

こんな感じででます。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません