openssh를 설치하려고 하여 Arcolinux(5.12.14-arch1-1 x86_64)를 사용할 수 없게 만들었습니다. 몇 시간 동안 인터넷 검색을 하고 몇 가지를 시도했지만 성공하지 못했습니다.
나는 다음을 수행했습니다.
$sudo pacman -S openvpn
그런 다음 VPN에서 oppenssl이 필요하다고 해서 설치했습니다.
$sudo pacman -S openssl
그런 다음 openvpn을 시작하려고 시도했는데 "libcrypto.so.1.1이 누락되었습니다"라는 오류가 발생했습니다.
안타깝게도 많은 애플리케이션(Sudo 및 pacman 포함!)이 이 라이브러리에 의존하는 것 같아서 더 이상 시작할 수 없습니다.
인터넷 검색 후 여기에서 libcrypto를 다운로드 https://archlinux.org/packages/core/x86_64/openssl-1.1/
하고 libcrypto.so.1.1
파일을 복사했습니다. /usr/lib/
(sudo가 작동하지 않았기 때문에 sh를 사용했습니다.)
그런 다음 다시 시작하려고 하면 pacman
또 sudo
다른 오류가 발생합니다.
sudo: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/libcrypto.so.1.1)
이제 파일 복사 등을 시도해 볼 수도 있겠지만 문제를 깔끔하게 해결하는 올바른 방법은 아닌 것 같습니다.
openssl 설치 전 상태로 복원하는 방법(위 사진)
openssh를 설치할 때 무엇이 잘못되었나요? 나는 종속성을 고려하고 pacman에 의존하는 다른 응용 프로그램이나 라이브러리가 있는 경우 라이브러리를 자동으로 제거하지 않는다고 가정/의존합니까?
조언이나 지침을 제공해 주셔서 정말 감사합니다!
답변1
커널 버전에 따라(5.12.14-arch1-1 x86_64) 약 15개월 동안 Arch 설치를 업데이트하지 않은 것 같습니다.
Arch와 같은 롤링 릴리스 배포판을 따라가려면 빈번한 업데이트가 필요한 경우가 많습니다. 배포 관리자는 이전 설치에 최신 패키지를 설치할 수 있다고 보장할 수 없습니다. 현재 설치된 패키지와 최신 상태 사이의 시간 프레임으로 인해 관리해야 하는 종속성 네트워크가 기하급수적으로 복잡해집니다. 유통 성장.
모든 패키지에 종속성 정보가 없는 경우언제나 완벽해요업데이트 간격이 길어질수록 자동으로 감지할 수 없는 종속성이 발생할 위험도 커집니다. 그리고 당신에게는 그 위험이 실현된 것 같습니다.
적어도 한 달에 한 번, 심지어 일주일에 한 번이라도 설치된 패키지에 대한 모든 업데이트를 설치해야 합니다.
대신, 1년 반이 지난 시스템 openvpn
에 최신 패키지를 설치하게 됩니다 . 안타깝게도 새 버전은 시스템의 현재 버전보다 최신 버전을 기준으로 구축 openssl
된 것 같습니다 . 이 문제를 해결하려면 시스템의 원래 버전과 현재 최신 버전 사이의 버전이 필요할 수 있습니다 . 하지만 시스템이 너무 오래된 상태이기 때문에 필요한 버전이 Arch 저장소에서 만료되었을 수 있습니다. 그렇다면 "여기서 거기로 갈 수 있는 방법이 없습니다"입니다. 롤링 버전이 당신에게서 멀어져서 더 이상 잡을 수 없습니다.openssl
glibc
openssl
가장 쉬운 방법은 백업에서 복원한 다음 아직 존재하지 않는 소프트웨어를 설치하기 전에 최신 상태로 완전히 업그레이드하는 것입니다. 그러나 시스템이 너무 오래된 상태인 것 같기 때문에 이 방법도 성공하지 못할 수도 있습니다.
가능한가능한"수동 개입"(Arch Wiki에서 부르는 대로)을 통해 현재 상황에서 복구하지만 처음부터 다시 설치하고 백업에서 데이터를 복원하는 것이 더 쉽고 빠를 수 있습니다.
백업이 없으면 어떻게 되나요? 그런 다음 일부 외부 미디어에서 부팅하고 이 설치의 파일 시스템을 마운트하고 모든 데이터 및 구성 파일을 백업한 다음 다시 설치하는 것이 좋습니다.