欠落しているlibcrypto.so.1.1を修正する方法は?

欠落しているlibcrypto.so.1.1を修正する方法は?

私のシステムでnodejsを実行しようとしたときに初めてこの問題が発生しました。次のエラーメッセージが表示されます。

node: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory

また、VirtualBoxを実行しようとすると、次のメッセージが表示されました。 "libcrypto.so.1.1がないため起動できません。"

私は私のOSとしてArchを使用していますが、私が見つけたものはすべてUbuntu用です。

答え1

私もアーチでこれに会いました。私の解決策もインストールすることでした。openssl-1.1提供されるものですlibcrypto.so.1.1

アップグレードが影響を与える可能性がありますpacman。その場合は、ミラーからパッケージをダウンロードしてlibcrypto.so.1.1手動でlibssl.so.1.1実行する/usr/lib/必要があります。

pacman -U --overwrite '/usr/lib/*' openssl-1.1-1.1.1.s-2-x86_64.pkg.tar.zst

完全なパッケージをインストールします。

そのsudo場合は破損している可能性があるため、pacmanログインするルートパスワードがない場合は、インストールsuディスクから復元する必要があります。

答え2

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 476.9G  0 disk
├─sda1   8:1    0   512M  0 part
├─sda2   8:2    0     1G  0 part
├─sda3   8:3    0  29.3G  0 part
├─sda4   8:4    0  75.1G  0 part 
└─sda5   8:5    0   371G  0 part
sdb      8:16   0 596.2G  0 disk
├─sdb1   8:17   0 146.6G  0 part
├─sdb2   8:18   0     1K  0 part
├─sdb5   8:21   0 248.9G  0 part
└─sdb6   8:22   0 200.7G  0 part
sdc      8:32   1  28.7G  0 disk
├─sdc1   8:33   1  28.6G  0 part
└─sdc2   8:34   1    32M  0 part

kernel panic端末にアクセスできない人のためにpacman

  • Live CD/USB を使って起動します。
  • 私が説明したようにlsblkコマンドを実行してインストールします(図を参照)。//boot
  • /この場合、私の状況を知り、sda3私のboot状況sda1はこんな感じです。
  • 実行しmount /dev/sda3 /mntmount /dev/sda1 /mnt/boot/efi
  • 次に実行arch-chroot /mntして実行します。pacman -Syu
  • エラーが発生した場合したがって、次のコマンドを試すことができます。pacman --root /mnt --cachedir /mnt/var/cache/pacman/pkg --config /mnt/etc/pacman.conf -Syu

ありがとうリチャードそして他の人はアーチ電報グループ

答え3

アップグレードを中断する間違いを犯し、ライブラリが欠落している問題が発生しました。 pacmanは以前のバージョンのlibcryptoを望んでいましたが、opensslがバージョン3にアップグレードされたため、パッケージをアップグレードできるようにpacman-staticをダウンロードする必要がありました。また、主な問題があったので、libcryptoエラーを解決するためにopenssl-1.1をインストールし、主な問題を解決するためにarchlinux-keyringをインストールしました。その後、私は他の人のコピーではなく、最新のバージョンがあることを確認するためにyayを使用してArchユーザーストアにpacman-staticをインストールしました。

答え4

他のすべての答えが言うことを理解していません。

私のRHEL 7.9にはこれがあります

ls -l /lib/libcrypto*

lrwxrwxrwx. 1 root root      19 Apr 19  2022 libcrypto.so -> libcrypto.so.1.0.2k
-rwxr-xr-x. 1 root root 1440264 Mar  4  2016 libcrypto.so.0.9.8e
lrwxrwxrwx. 1 root root      19 Apr 19  2022 libcrypto.so.10 -> libcrypto.so.1.0                                             .2k
-rwxr-xr-x. 1 root root 2520920 Mar 23  2022 libcrypto.so.1.0.2k
lrwxrwxrwx. 1 root root      19 Jun 11  2021 libcrypto.so.6 -> libcrypto.so.0.9.8e

このようなエラーが表示され、ライブラリをインストールしたが特定のerror while loading shared libraries: libcrypto.so.1.1ファイル(またはリンク)が.so.1.1存在しないが上記のような他の番号が表示されている場合は、次のリンクを作成できます。

あなたの場合、利用可能なライブラリはです。libcrypto.soご覧のとおり、対応するrpmを提供するOpenSSLのバージョンに応じて、適切なバージョンの.soファイルへのリンクがあります。時間の経過とともに更新されるため、libcrypto.so指す内容もそれに応じて変更されます。

しかし、あなたが望むのは、libcrypto.so.1.1リンクを作成してそれを指すことです。libcrypto.so

.soファイルがあるフォルダでこのコマンドを実行します。

ln -s libcrypto.so libcrypto.so.1.1

これにより、使用するすべてのソフトウェアが特定の.soバージョン(あなたの場合は.so.1.1)を参照するように特別にコーディングされ(私の考えでは間違っているようですが)、問題なく実行できます。最新バージョンのOpenSSL(または他のバージョン)が使用しているコードと機能しない場合、そうでない場合は99%の時間で動作するため、問題を解決できます。共有ライブラリが見つかりません。間違い。

関連情報