내 시스템에서 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%의 시간 동안 작동하므로 문제를 해결할 수 있습니다.공유 라이브러리를 찾을 수 없습니다.실수.