
Ich habe OpenSSL-1.0.1e auf Debian Lenny (armv4-Architektur) aus dem [Quellcode][1] kompiliert. Ich folgte den Anweisungen aufhttp://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssl.htmlum den Quellcode zu kompilieren. make
, make test
, make install
wurden erfolgreich abgeschlossen. OpenSSL zeigt jedoch an, dass ich noch die alte Version habe
OpenSSL> version
OpenSSL 0.9.8g 19 Oct 2007
Wie aktualisiere ich OpenSSL? Muss ich die alte Binärdatei (in /usr/bin
) durch die neu kompilierte openssl
Binärdatei ersetzen?
BEARBEITEN: make test
Ausgabe: ALLE TESTS ERFOLGREICH.
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
Ausgabe:
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
---------------------------------------------------------------------
BEARBEITEN2: Ich habe apt-get --purge remove openssl
die ältere Version bereits entfernt. Ausführung openssl
auf Terminalausgaben -bash: /usr/bin/openssl: No such file or directory
. Wenn ich ausführe /usr/local/ssl/bin/openssl
, wird OpenSSL mit der richtigen Version ausgeführt.
Ich bin mir nicht sicher, welche Dateien ich wohin verlinken soll? Ich bin noch ein Neuling, der versucht, Linux zu lernen. Das Gerät, das ich verwende, unterstützt Squeeze oder Wheezy aufgrund eines Problems mit dem Prozessor des Geräts nicht, daher muss ich es manuell kompilieren. Ich glaube, das Problem wäre gelöst, wenn Sie diese beiden Fragen beantworten könnten:
1) Würde es funktionieren, wenn ich /usr/local/ssl/bin/openssl
nach kopiere /usr/bin/openssl
? Würde das aber Probleme verursachen oder muss ich auch Dateien unter `/usr/local/ssl/* woanders hin verschieben?
oder 2) Ich habe in der Dokumentation gelesen, dass:
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
Können Sie mir sagen, welche Verzeichnisse (für --prefix und openssldir) ich für Debian definieren muss? Dann kann ich die Quelle erneut kompilieren. Ich habe vorher Folgendes verwendet:
./config --prefix=/usr \
--openssldir=/etc/ssl \
shared \
linux-armv4 \
zlib-dynamic
Antwort1
OpenSSL wird oft als Kernpaket betrachtet, da es von vielen anderen verwendet wird, um Sicherheitsfunktionen bereitzustellen. Ich rate davon ab, Kernpakete manuell zu erstellen, es sei denn, Sie kennen die möglichen Auswirkungen besonders gut. Wenn Sie es manuell erstellen, empfehle ich, es über das bereitgestellte Paket zu installieren, es stattdessen in /usr/local
oder sogar in Ihr Benutzer-Home zu installieren und alles zu kompilieren, was Sie benötigen und was die aktualisierte Bibliothek benötigt, wo Sie es als Teil des Build-Verfahrens finden – so stören Sie andere Binärpakete nicht, die von OpenSSL abhängen. Wenn Sie OpenSSL manuell erstellen, müssen Sie es jedes Mal neu erstellen, wenn ein Update veröffentlicht wird (und müssen je nach den Änderungen möglicherweise auch jedes Mal andere abhängige Pakete neu erstellen).
Wäre es möglich, stattdessen Ihre Debian-Installation auf die neueste stabile Version zu aktualisieren? Diese enthält standardmäßig v1.0.1e (siehehttp://packages.debian.org/search?suite=wheezy&searchon=names&keywords=openssl) und bedeutet, dass Sie zukünftige Updates ohne zusätzlichen Aufwand erhalten.