在 Debian 上更新 openssl

在 Debian 上更新 openssl

我在 Debian Lenny (armv4 架构) 上从 [源代码][1] 编译了 OpenSSL-1.0.1e。我按照http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssl.html编译源代码。makemake testmake install已成功完成。但是,OpenSSL 显示我仍有旧版本

OpenSSL> version
OpenSSL 0.9.8g 19 Oct 2007

我该如何更新 OpenSSL?我需要用/usr/bin新编译的二进制文件替换旧的openssl二进制文件吗?

编辑:make test输出:所有测试均成功。

make[1]: Leaving directory `/home/openssl-1.0.1e/test'
OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a
OpenSSL 1.0.1e 11 Feb 2013
built on: Mon Jun 10 05:08:05 UTC 2013
platform: dist
options:  bn(32,32) rc4(ptr,int) des(idx,cisc,2,long) idea(int) blowfish(idx) 
compiler: cc -O
OPENSSLDIR: "/usr/local/ssl"

make install输出:

make[1]: Leaving directory `/home/openssl-1.0.1e/engines'
making install in apps...
make[1]: Entering directory `/home/openssl-1.0.1e/apps'
installing openssl
installing CA.sh
installing CA.pl
installing tsget
make[1]: Leaving directory `/home/openssl-1.0.1e/apps'
making install in test...
make[1]: Entering directory `/home/openssl-1.0.1e/test'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory `/home/openssl-1.0.1e/test'
making install in tools...
make[1]: Entering directory `/home/openssl-1.0.1e/tools'
make[1]: Leaving directory `/home/openssl-1.0.1e/tools'
installing libcrypto.a
installing libssl.a
cp libcrypto.pc /usr/local/ssl/lib/pkgconfig
chmod 644 /usr/local/ssl/lib/pkgconfig/libcrypto.pc
cp libssl.pc /usr/local/ssl/lib/pkgconfig
chmod 644 /usr/local/ssl/lib/pkgconfig/libssl.pc
cp openssl.pc /usr/local/ssl/lib/pkgconfig
chmod 644 /usr/local/ssl/lib/pkgconfig/openssl.pc

---------------------------------------------------------------------

编辑2:我已经apt-get --purge remove openssl删除了旧版本。openssl在终端输出上执行-bash: /usr/bin/openssl: No such file or directory。如果我执行,/usr/local/ssl/bin/openssl那么它会使用正确的版本运行 openssl。

我不确定要将哪些文件链接到哪里?我还是一个试图学习 Linux 的新手。由于设备处理器存在一些问题,我使用的设备不支持 squeeze 或 Wheezy,因此我必须手动编译它。我相信如果您能回答以下两个问题,问题就会解决:

/usr/local/ssl/bin/openssl1) 如果我复制到会起作用吗/usr/bin/openssl?但是,这会引起任何问题吗?还是我还需要将 `/usr/local/ssl/* 上的文件移动到其他地方?

或者 2) 我在文档中读到:

 This will build and install OpenSSL in the default location, which is (for
 historical reasons) /usr/local/ssl. If you want to install it anywhere else,
 run config like this:

  $ ./config --prefix=/usr/local --openssldir=/usr/local/openssl

您能告诉我我需要为 Debian 定义哪些目录(用于 --prefix 和 openssldir)吗?然后我可以再次编译源代码。我以前使用过:

./config --prefix=/usr         \
         --openssldir=/etc/ssl \
         shared                \
         linux-armv4           \
         zlib-dynamic

答案1

OpenSSL 通常被视为核心软件包,因为它被许多其他软件包用来提供安全功能,除非您对潜在后果有特别好的了解,否则我建议不要手动滚动核心软件包。如果您确实手动滚动它,我建议在提供的软件包上安装,而不是将其安装到/usr/local您的用户主目录中,并编译您需要的需要更新库的任何内容,在哪里可以找到它作为其构建过程的一部分 - 这样您就不会破坏依赖于 openssl 的其他二进制包。如果您手动滚动 openssl,则每次发布更新时都需要重建它(并且可能还需要根据更改每次重建其他依赖包)。

是否可以将 Debian 安装更新到最新的稳定版本?默认情况下,它包含 v1.0.1e(请参阅http://packages.debian.org/search?suite=wheezy&searchon=names&keywords=openssl),这意味着您无需付出额外努力即可获得未来的更新。

相关内容