
Compilei o OpenSSL-1.0.1e no Debian Lenny (arquitetura armv4) a partir do [código fonte][1]. Eu segui as instruções emhttp://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssl.htmlpara compilar o código-fonte. make
, make test
, make install
foram concluídos com sucesso. Porém, OpenSSL mostra que ainda tenho a versão antiga
OpenSSL> version
OpenSSL 0.9.8g 19 Oct 2007
Como devo atualizar o OpenSSL? Preciso substituir o binário antigo (in /usr/bin
) pelo openssl
binário recém-compilado?
EDIT: make test
saída: TODOS OS TESTES COM SUCESSO.
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
saída:
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
-------------------------------------------------- -------------------
EDITAR2: Já fiz apt-get --purge remove openssl
para remover a versão mais antiga. executando openssl
nas saídas do terminal -bash: /usr/bin/openssl: No such file or directory
. Se eu executar /usr/local/ssl/bin/openssl
, ele executa o openssl com a versão correta.
Não tenho certeza de quais arquivos vincular para onde? Ainda sou um novato que tenta aprender Linux. O dispositivo que estou usando não suporta squeeze ou Wheezy devido a algum problema no processador do dispositivo, então tenho que compilá-lo manualmente. Acredito que resolveria o problema se você pudesse responder a estas duas perguntas:
1) funcionaria se eu copiasse /usr/local/ssl/bin/openssl
para /usr/bin/openssl
? Mas isso causaria algum problema ou eu também precisaria mover arquivos em `/usr/local/ssl/* para outro lugar?
ou 2) li na documentação que:
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
Você poderia me dizer quais diretórios (para --prefix e openssldir) preciso definir para o Debian? Então posso compilar a fonte novamente. Usei anteriormente:
./config --prefix=/usr \
--openssldir=/etc/ssl \
shared \
linux-armv4 \
zlib-dynamic
Responder1
O OpenSSL é frequentemente considerado um pacote principal, pois é usado por vários outros para fornecer recursos de segurança, e eu não recomendaria o lançamento manual de pacotes principais, a menos que você tenha um entendimento particularmente bom das possíveis repercussões. Se você rolar manualmente, eu recomendaria instalar sobre o pacote fornecido, em vez de instalá-lo /usr/local
ou até mesmo na casa do usuário e compilar o que você precisar que precisa da biblioteca atualizada, onde encontrá-la como parte do procedimento de construção - isso foi você não interrompe outros pacotes binários que dependem do openssl. Se você rolar manualmente o openssl, precisará reconstruí-lo sempre que uma atualização for lançada (e pode precisar reconstruir outros pacotes dependentes também, dependendo das alterações).
Seria possível atualizar sua instalação do Debian para o Stable mais recente? Isso inclui v1.0.1e por padrão (consultehttp://packages.debian.org/search?suite=wheezy&searchon=names&keywords=openssl) e significa que você receberá atualizações futuras sem nenhum esforço extra.