잘못된 심볼릭 링크로 인해 대부분의 Linux 컴퓨터 기능이 중단되었습니다.

잘못된 심볼릭 링크로 인해 대부분의 Linux 컴퓨터 기능이 중단되었습니다.

저는 Debian 기반의 64비트 Crunchbang을 사용하고 있습니다.

나는 libc6의 특정 문제를 해결하려고 노력하고 있었고 순진하게 AskUbuntu 답변의 조언을 따랐습니다(링크) 다음 명령을 실행하게 만들었습니다.

sudo ln -sf /lib32/libc.so.6 /lib/x86_64-linux-gnu/libc.so.6

이제 단일 터미널 명령이나 GUI 프로그램을 실행할 수 없습니다. 터미널에서 오류가 많이 발생합니다. 예를 들면 다음과 같습니다 ls.

ls: 공유 라이브러리를 로드하는 중 오류 발생: libs.so.6: 잘못된 ELF 클래스: ELFCLASS32

sed: 공유 라이브러리를 로드하는 중 오류 발생: libs.so.6: 잘못된 ELF 클래스: ELFCLASS32

/usr/bin/env: 공유 라이브러리를 로드하는 중 오류 발생: libs.so.6: 잘못된 ELF 클래스: ELFCLASS32

날짜: 공유 라이브러리를 로드하는 중 오류가 발생했습니다. libs.so.6: 잘못된 ELF 클래스: ELFCLASS32

sed: 공유 라이브러리를 로드하는 중 오류 발생: libs.so.6: 잘못된 ELF 클래스: ELFCLASS32

GUI 프로그램은 실행되지 않거나 이상한 오류 메시지를 표시하지 않습니다.

간단히 말해서, 이 재앙을 초래한 심볼릭 링크를 삭제할 방법이 없습니다. 컴퓨터를 다시 작동시키려면 어떻게 해야 합니까?

답변1

/lib32 폴더에는 32비트 라이브러리만 포함될 수 있습니다. 동일한 파일의 64비트 버전을 가리키는 libc.so.6 링크를 /lib32에 생성했습니다. libc.so.6의 32비트 버전을 다운로드하여 /lib32 폴더에 넣습니다.

답변2

libc를 망쳤고 일반적으로 모든 유용한 유틸리티가 이에 의존하므로, 유일하게 편리한 옵션은 Live CD/USB를 부팅하여 수정하거나 하드 드라이브를 다른 사람의 컴퓨터에 꽂는 것입니다(부팅하지 마십시오). it) 거기에서 수정하세요.

문제를 해결하려면 수행한 작업을 취소하세요.

그러나 -f옵션을 제대로 선택하지 않았고 ln원본 파일을 백업하지 못했다고 가정하면 /lib/x86_64-linux-gnu/libc.so.6해당 명령을 수행하기 전에 실제로 존재했다면 해당 파일을 덮어썼다는 의미입니다. 이 경우 가장 좋은 방법은 다른 곳에서 호환 가능한 버전의 복사본을 얻은 다음 컴퓨터가 다시 작동하게 되면 libc를 강제로 다시 설치하여 올바른 파일의 올바른 버전이 모두 있는지 확인하는 것입니다. 올바른 장소.

처음부터 해당 파일이 없더라도 걱정할 필요가 없습니다.

이 모든 것을 정리한 후에는 중요한 라이브러리에 대한 심볼릭 링크를 사용하는 대신 플랫폼에 맞는 패키지를 마스킹 해제하고 설치하는 등 문제가 무엇이든 덜 위험한 솔루션을 시도하는 것을 고려하십시오.

관련 정보