
Я скомпилировал OpenSSL-1.0.1e на Debian Lenny (архитектура armv4) из [исходного кода][1]. Я следовал инструкциям наhttp://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssl.htmlдля компиляции исходного кода. make
, make test
, make install
были успешно завершены. Однако OpenSSL показывает, что у меня все еще старая версия
OpenSSL> version
OpenSSL 0.9.8g 19 Oct 2007
Как мне обновить OpenSSL? Нужно ли мне заменить старый бинарный файл (в /usr/bin
) на недавно скомпилированный openssl
бинарный файл?
EDIT: 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 из-за какой-то проблемы с процессором устройства, поэтому мне приходится компилировать его вручную. Я считаю, что это решило бы проблему, если бы вы могли ответить на эти два вопроса:
1) будет ли работать, если я скопирую /usr/local/ssl/bin/openssl
в /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
Не могли бы вы мне сказать, какие каталоги (для --prefix и openssldir) мне нужно определить для Debian? Тогда я смогу снова скомпилировать исходники.Ранее я использовал:
./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) и означает, что вы будете получать будущие обновления без дополнительных усилий.