2

Я скомпилировал 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 ?

РЕДАКТИРОВАТЬ: 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 output:

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

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

EDIT2: я уже сделал apt-get --purge remove openssl чтобы удалить старую версию. выполнение openssl на выходных данных терминала -bash: /usr/bin/openssl: No such file or directory . Если я выполняю /usr/local/ssl/bin/openssl тогда он запускает openssl с правильной версией.

Я не уверен, на какие файлы ссылаться? Я все еще новичок, который пытается изучать Linux. Устройство, которое я использую, не поддерживает сжатие или 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 ответ1

2

OpenSSL часто считается базовым пакетом, так как он используется рядом других для обеспечения функций безопасности, и я бы рекомендовал не использовать ручные базовые пакеты, если вы не особенно хорошо понимаете потенциальные последствия. Если вы сделаете это вручную, я бы порекомендовал установить поверх предоставленного пакета, вместо этого установить его в /usr/local или даже в ваш домашний пользователь и скомпилировать все, что вам нужно, для чего нужна обновленная библиотека, где его можно найти как часть их сборки. Процедура - это вы не нарушаете другие бинарные пакеты, которые зависят от openssl. Если вы запускаете openssl вручную, вам придется перестраивать его каждый раз, когда выпускается обновление (и, возможно, потребуется перестраивать другие зависимые пакеты каждый раз, в зависимости от изменений).

Можно ли вместо этого обновить вашу установку Debian до последней стабильной версии? Это включает в себя v1.0.1e по умолчанию (см http://packages.debian.org/search?suite=wheezy&searchon=names&keywords=openssl) и означает , что вы получите будущие обновления без дополнительных усилий.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .