我需要将 ntp 部署到一个非常占用空间的 pxe 映像系统。(是的,每个 KB 都很重要。)占用空间需要尽可能小,所以我想在不链接 openssl 的情况下编译 ntp。根据手册这应该是可能的:
如果可用,OpenSSL 库来自http://www.openssl.org用于支持公钥加密。必须在构建 NTP 之前构建并安装该库。执行此操作的过程包含在 OpenSSL 文档中。在正常 NTP 配置阶段可以找到该库,并且会自动编译接口例程。只需要 libcrypto.a 库文件和 openssl 头文件。如果库不可用或被禁用,则不需要此步骤。
我已经尝试过了
./configure --without-openssl
然而,这并没有帮助。这是我的 ldd 输出:
ldd ntpd/ntpd
linux-gate.so.1 => (0xb7706000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb76d5000)
libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb7582000)
librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb7578000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb741d000)
/lib/ld-linux.so.2 (0xb7707000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7419000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7404000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb73eb000)
我正在编译的系统是使用 openssl 0.9.8g-15+lenny16 的 32 位 debian lenny。
不使用 openssl 来编译 ntp 的正确配置选项是什么?
答案1
对我有用:
[me@risby ntp-4.2.6p5]$ ./configure --without-openssl && make
[me@risby ntp-4.2.6p5]$ ldd ntpd/ntpd
linux-vdso.so.1 => (0x00007fffd516c000)
libm.so.6 => /lib64/libm.so.6 (0x0000003838a00000)
librt.so.1 => /lib64/librt.so.1 (0x0000003838600000)
libc.so.6 => /lib64/libc.so.6 (0x0000003837a00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003837e00000)
/lib64/ld-linux-x86-64.so.2 (0x0000003837600000)
你可以吗展示我们这样做对你不起作用吗?(别忘了先做一次make distclean
。)
编辑:是的,我已经安装了:
[me@risby ntp-4.2.6p5]$ rpm -qa|grep openssl
openssl-1.0.0k-1.fc17.x86_64
openssl-devel-1.0.0k-1.fc17.x86_64
您没有告诉我们有关您的发行版的任何信息(甚至没有告诉我们操作系统,尽管我们从您的ldd
输出中知道它是 Linux)。也许现在是时候更具体一点了?
答案2
知道了!
通过研究配置脚本,我发现你实际上必须使用
./configure --without-crypto
代替
./configure --without-openssl