web-dev-qa-db-ja.com

共有ライブラリのロード中のエラー:libssl.so.1.1(およびlibcrypto.so.1.1)

enter image description here

ご覧のとおり、libcryptoとlibsslファイルがありません。 apt-updateとapt-upgradeを実行した後、サーバーから自分自身をロックアウトしました。これはWebコンソールから実行しています。SSLファイルが見つからないため、sshや他のプログラムは動作しません。

enter image description here

apt install opensslを削除してインストールしようとしましたが、libssl-devを削除したり、ディストリビューションから独自のopensslをコンパイルしたりしました。これらはどれも必要な.soファイルを作成しません。locateを実行しましたが、これらのファイルはサーバー上のどこにも存在しません。

また、再インストールできないlibssl1.0.0もあり、これを削除すると、サーバーを強制終了してすべてのデータを削除する700MBのパッケージが削除されます。

1
user3108268

解決しました。

問題は、Ubuntu以外のバージョンのopenssl(パッチなし)をインストールすると、「共有ライブラリのロード中にエラーが発生しました」というエラーが発生することです。意味を成さず、多くのトラブルを引き起こします)。ソース: https://askubuntu.com/a/830532/67686

そのため、 https://www.openssl.org/source/ から公式バージョンをコンパイルした場合、主にこれに遭遇します。 openssl-1.0.2m.tar.gzバージョン。公式のUbuntuパッチ(Freenodeの#ubuntuによると数百万回)のバージョンはまだopenssl-1.0.2gであり、パッチ、コンパイル、インストールして機能させる必要があります。

ソリューション( https://stackoverflow.com/a/22634441/3108268 から編集):

  1. このビルドを使用しました https://launchpad.net/ubuntu/+source/openssl/1.0.2g-1ubuntu1 それは最新のものだったからです。
  2. wget https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.2g.orig.tar.gz--no-check-certificateを追加する必要がある場合があります)
  3. tar -xvf openssl_1.0.2g.orig.tar.gz
  4. wget https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.2g-1ubuntu13.debian.tar.xz
  5. tar -xvf openssl_1.0.2g-1ubuntu13.debian.tar.xzおよびmv debian openssl_1.0.2g-1ubuntu13
  6. whereis openssl現在のopensslを見つけて、削除/削除/バックアップします。
  7. cd openssl_1.0.2g/およびpatch -p1 < ../openssl_1.0.2g-1ubuntu13/patches/version-script.patch
  8. make cleanおよび./config shared --prefix=/usr/local --openssldir=/usr/local/ssl -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'(または、単純な.configが必要なだけかもしれませんが、私には機能しません)
  9. makeおよびmake testおよびmake install
  10. openssl version

また、rebootを使用して、SSH経由で再び接続できるようにする必要がありました。これらのコマンドはすべて、クラウドサーバー上のWebコンソールを介して実行されました。ダウンロードしたファイルのディレクトリ名は異なる可能性があるため、確認しませんでしたので、ls -lも確認してください。

1
user3108268