私のシステムで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 /mnt
てmount /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%の時間で動作するため、問題を解決できます。共有ライブラリが見つかりません。間違い。