
私は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
出力:
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 をサポートしていないため、手動でコンパイルする必要があります。次の 2 つの質問に答えていただければ、問題は解決すると思います。
/usr/local/ssl/bin/openssl
1)にコピーすると動作しますか/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
答え1
OpenSSL は、セキュリティ機能を提供するために他の多くのパッケージで使用されるため、コア パッケージと見なされることがよくあります。そのため、潜在的な影響について特によく理解していない限り、コア パッケージを手動でロールすることはお勧めしません。手動でロールする場合は、提供されているパッケージにインストールすることをお勧めします。代わりに、/usr/local
またはユーザー ホームにインストールして、ビルド手順の一部として更新されたライブラリが必要なものをコンパイルすることをお勧めします。これにより、openssl に依存する他のバイナリ パッケージが中断されることはありません。openssl を手動でロールする場合は、更新がリリースされるたびに再構築する必要があります (変更に応じて、他の依存パッケージも毎回再構築する必要がある場合があります)。
代わりに、Debianのインストールを最新の安定版にアップデートすることは可能でしょうか?これにはデフォルトでv1.0.1eが含まれています(http://packages.debian.org/search?suite=wheezy&searchon=names&keywords=openssl) であり、追加の手間をかけずに将来のアップデートを入手できることを意味します。