2つの異なるバージョンのOpenSSLを同時にインストールする必要があります。現在、OpenSSL 1.0.0aを実行しているAmazon 32ビットAMIでAmazon EC2を使用しています。 OpenSSL.0.9.6を必要とする古いソフトウェアを実行する必要があります。残念ながら、私が学んだことから、OpenSSLには下位互換性がないため、両方のバージョンを同時にインストールする必要があります。機能するRPMを見つけましたが、何も壊さずにそれらを同時にインストールする方法を知りません。このテーマに関する情報をいただければ幸いです。
ありがとう
Openssl.orgアーカイブからソースをダウンロードし、ソースからコンパイルして、別のディレクトリにインストールできます。
./config --prefix=/old-openssl-version-x.x.x --openssldir=/old-openssl-version-x.x.x
make
make test
Sudo make install
次に、次のような特定のバージョンを使用します。
/old-openssl-version-x.x.x/bin/openssl do whatever you want
私の推測では、ライブラリパッケージに含まれるオブジェクトのsoname
に関連するライブラリパッケージの命名に関する適切なポリシーがなく、同じパッケージの複数のバージョンのインストールに関する概念もあるディストリビューションを実行していると思います。
この場合、あなたの唯一のオプションは、パッケージを手で開梱し(トリックを行うrpm
オプションがない限り、rpm2cpio
がその特定の十字軍の出発点であると信じています)、関連するファイルを正しい場所に配置することです(s)。 libssl
と(結果として)libcrypto
の後でのみ、これはかなり簡単なはずです。libssl.so.0.9.6
とlibcrypto.so.0.9.6
を所定の位置にコピーすると、問題のあるバイナリのldd
が幸せを示すはずです。
特定のバージョンのOpenSSLスイート全体が必要な場合、それはとんでもないことなので、インターネットの利益のために、ベンダーに公に名前を付けて恥をかかせる必要があります。
1つのオプションは、必要なパッケージのセットを備えたディストリビューションを使用して、システムにchrootをセットアップすることです。これはより多くのストレージを占有し、ルートOSとchrootの両方でメンテナンスを行う必要があることを意味しますが、同じシステム上で古いライブラリのセットを必要とするchrootで1つのアプリを実行できるようになります。最新のライブラリを必要とするアプリケーションを実行します。
私は問題なくBSDボックスでこれを行いました。ライブラリのみをインストールし、実際の「openssl」バイナリ(マンページも)を上書きしないようにしてください。
Rpm2cpioだけを使用してライブラリを抽出する方が安全でしょう。