![mv: 공유 개체 파일 "libstdc++.so.6"을 열 수 없습니다: 기호 링크 중첩이 너무 큽니다.](https://rvso.com/image/1000937/mv%3A%20%EA%B3%B5%EC%9C%A0%20%EA%B0%9C%EC%B2%B4%20%ED%8C%8C%EC%9D%BC%20%22libstdc%2B%2B.so.6%22%EC%9D%84%20%EC%97%B4%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%3A%20%EA%B8%B0%ED%98%B8%20%EB%A7%81%ED%81%AC%20%EC%A4%91%EC%B2%A9%EC%9D%B4%20%EB%84%88%EB%AC%B4%20%ED%81%BD%EB%8B%88%EB%8B%A4..png)
오류는 주제와 약간 다를 수 있습니다. 모국어로 번역한 것입니다.
모든 것이 실패한 후, 나는 이 게시물에서 mjp가 지적한 대로 시도해 보았습니다. GLIBCXX_3.4.20을 찾을 수 없습니다. 이 오류를 해결하는 방법은 무엇입니까?
그러나 결과적으로 모든 명령 apt-get, mv, cp는 주제 제목에서 오류를 반환합니다. 파일의 백업 버전으로 돌아갈 수 없습니다.
현재 우분투에 로그인조차 할 수 없습니다. 로그인 화면에서 멈췄습니다. 로그인을 시도할 때마다 화면이 검게 변하고 다시 로그인으로 돌아옵니다. Ctrl+Alt+F3을 통해서만 명령을 사용할 수 있습니다.
어떻게 해야 하나요?
steeldriver에 대한 답변(댓글을 확인하세요):
lrwxrwxrwx 1 root root 40 Jun 17 21:37 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> /usr/lib/x86_64-linux-gnu/libstdc++.so.6
-rw-r--r-- 1 root root 979056 May 7 2016 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.19
lrwxrwrwx 1 root root 19 May 7 2016 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.old -> libstdc++.so.6.0.19
답변1
mv
[왜 기본 유틸리티가 와 같은 또는 cp
로 인해 중단되는지 의아해한다는 것을 인정해야 합니다 libstdc++.so.6
. 그러나 그것이 이유라고 가정하면 다음과 같이 시도할 것입니다.]
출력 결과는 자신에게 busybox ls
재귀적으로 연결되었음을 나타냅니다 . /usr/lib/x86_64-linux-gnu/libstdc++.so.6
다행히 실제 라이브러리를 삭제하거나 덮어쓰지 않은 것으로 보입니다 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.19
. 따라서 심볼릭 링크를 다시 생성하여 복구할 수 있어야 합니다.
sudo
문제는 둘 중 하나 또는 ln
둘 다 라이브러리에 의존하는 경우입니다 libstdc++
. (아마도 그렇지 않을 것입니다. + + 가상 터미널 bash
에서 쉘로 로그인할 수 있기 때문입니다 .)CtrlAltF3
깨진 경우 sudo
에도 설명된 대로 복구 모드에서 루트 셸로 부팅할 수 있습니다.루트 쉘로 어떻게 부팅합니까?. 그런 다음 읽기-쓰기 모드에서 루트 파일 시스템을 다시 마운트해야 합니다.
mount -o remount,rw /
그 후에는 깨진 링크를 수정해 볼 수 있습니다.
ln -sf libstdc++.so.6.19 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(이렇게 하면상대 심볼릭 링크/usr/lib/x86_64-linux-gnu/
이는 링크 와 유사하게 대상 경로를 기준으로 해결됩니다 .old
.
ln
에 의존하기 때문에 실패한다고 가정하면 다음 이 내장된 libstdc++.so
정적으로 링크된 실행 파일을 사용하여 다시 시도할 수 있습니다 .busybox
ln
/bin/busybox ln -sf libstdc++.so.6.19 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
작동한다면 exit
루트 셸에서 일반 부팅을 진행할 수 있습니다.