昔のメモが出てきたので、ここに貼っておく。
バイナリーファイル aaa がある時、そのバイナリーに必要な RPM を列挙する場合
1. ldd
$ ldd ./aaa
linux-vdso.so.1 => (0x00007fff5bdff000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fa954ca3000)
libc.so.6 => /lib64/libc.so.6 (0x00007fa9544f1000)
libz.so.1 => /lib64/libz.so.1 (0x00000031a1800000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa954ee7000)
→ 必要なライブラリーは
linux-vdso.so.1
libcrypt.so.1
libc.so.6
libz.so.1
ld-linux-x86-64.so.2
2. 各ライブラリーにおいて、rpm -qf (ファイルパス) を実行
$ rpm -qf /lib64/libcrypt.so.1
glibc-2.12-1.107.el6_4.2.x86_64
これを 1. で出力されたライブラリーに対して繰り返すと、以下のパッケージが必要であることがわかる。
1. glibc-2.12-1.107.el6_4.2.x86_64
このパッケージには以下のライブラリーファイルが含まれる
- /lib64/libcrypt.so.1
- /lib64/libc.so.6
- /lib64/ld-linux-x86-64.so.2
2. zlib-1.2.3-29.el6.x86_64
このパッケージには以下のライブラリーファイルが含まれる
- /lib64/libz.so.1