[ソースコード] [1]からDebianLenny(armv4アーキテクチャ)でOpenSSL-1.0.1eをコンパイルしました。 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
出力:
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
を実行しました。ターミナル出力-bash: /usr/bin/openssl: No such file or directory
でopenssl
を実行します。 /usr/local/ssl/bin/openssl
を実行すると、opensslが正しいバージョンで実行されます。
どのファイルをどこにリンクするかわかりませんか?私はまだLinuxを学ぼうとする初心者です。私が使用しているデバイスは、デバイスのプロセッサに問題があるため、squeezeまたはWheezyをサポートしていないため、手動でコンパイルする必要があります。次の2つの質問に答えることができれば、問題は解決すると思います。
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
Debian用に定義する必要のあるディレクトリ(--prefixとopenssldir用)を教えてください。その後、ソースを再度コンパイルできます。以前は次を使用していました。
./config --prefix=/usr \
--openssldir=/etc/ssl \
shared \
linux-armv4 \
zlib-dynamic
OpenSSLは、セキュリティ機能を提供するために他の多くのユーザーによって使用されているため、コアパッケージと見なされることがよくあります。潜在的な影響を特によく理解していない限り、コアパッケージを手動でローリングすることはお勧めしません。手作業でロールする場合は、提供されたパッケージの上にインストールすることをお勧めします。代わりに、/usr/local
またはユーザーのホームにインストールして、必要なものをコンパイルします。必要なものはすべて、更新されたライブラリが必要です。ビルド手順-これは、opensslに依存する他のバイナリパッケージを中断しないことでした。 opensslをハンドロールする場合は、更新がリリースされるたびに再構築する必要があります(また、変更によっては、他の依存パックも毎回再構築する必要がある場合があります)。
代わりに、Debianインストールを最新のStableに更新することは可能でしょうか?これにはデフォルトでv1.0.1eが含まれ( http://packages.debian.org/search?suite=wheezy&searchon=names&keywords=openssl を参照)、余分な労力なしで将来のアップデートを取得できることを意味します。