3

ユーティリティを実行してlddの共有ライブラリを見つけると、httpd説明できない次のシナリオが見つかりました。


私のUbuntu箱に:

leon@lwaldman-linux:~/Uol/Lxc/py_utils/Container_Builder/_builds/usr/sbin$ ldd  httpd 
    linux-gate.so.1 =>  (0xf77b2000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7712000)
    libpcre.so.0 => not found
    libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xf76f2000)
    libaprutil-1.so.0 => not found
    libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xf76c1000)
    libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xf7697000)
    libdb-4.7.so => not found
    libapr-1.so.0 => not found
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf767b000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf74d6000)
    /lib/ld-linux.so.2 (0xf77b3000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf74d1000)

そしてCentOS箱に:

[root@localhost sbin]# ldd httpd 
linux-gate.so.1 =>  (0x008b6000)
libm.so.6 => /lib/libm.so.6 (0x0036f000)
libpcre.so.0 => /lib/libpcre.so.0 (0x00835000)
libselinux.so.1 => /lib/libselinux.so.1 (0x0021f000)
libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0x00dfa000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x003de000)
libexpat.so.1 => /lib/libexpat.so.1 (0x00695000)
libdb-4.7.so => /lib/libdb-4.7.so (0x0040e000)
libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0x00110000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00257000)
libc.so.6 => /lib/libc.so.6 (0x00e37000)
/lib/ld-linux.so.2 (0x00aae000)
libdl.so.2 => /lib/libdl.so.2 (0x0096d000)
libuuid.so.1 => /lib/libuuid.so.1 (0x007c8000)
libfreebl3.so => /lib/libfreebl3.so (0x00d94000)

libuuidlibfreebl3が箱に記載されているのに、CentOS箱には記載されていないのはなぜUbuntuですか?

私はhttpd ELFそれらを依存関係としてリストしていないことを知っています:

0x00000001 (NEEDED)                     Shared library: [libm.so.6]
0x00000001 (NEEDED)                     Shared library: [libpcre.so.0]
0x00000001 (NEEDED)                     Shared library: [libselinux.so.1]
0x00000001 (NEEDED)                     Shared library: [libaprutil-1.so.0]
0x00000001 (NEEDED)                     Shared library: [libcrypt.so.1]
0x00000001 (NEEDED)                     Shared library: [libexpat.so.1]
0x00000001 (NEEDED)                     Shared library: [libdb-4.7.so]
0x00000001 (NEEDED)                     Shared library: [libapr-1.so.0]
0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
0x00000001 (NEEDED)                     Shared library: [libc.so.6]

洞察はありますか?

編集: 両方のテストで使用された httpd バイナリは同じものでした (CentOS RPM から解凍したもの)。

4

3 に答える 3

3

おそらく Apache は、Fedora と Ubuntu で異なるオプションを使用してビルド (コンパイル) されました。

たぶん、の出力を比較します

httpd -V

それについて詳しく教えてくれます。

于 2012-10-03T18:19:01.273 に答える
0

libapr-1 は、ubuntu では libapr-1.0 と呼ばれます。とにかく、少なくとも12.04にはあります。

于 2012-12-14T13:00:46.313 に答える