내용을 삭제하고 싶은 디렉토리에 있지 sudo rm /*
않고 실수로 이 작업을 실행하여 기본적으로 시스템이 엉망이 되었습니다.sudo rm ./*
ls
등 기본 명령이 작동하지 않고 grep
크롬, 슬랙, 이미지 뷰어 등과 같은 앱이 열리지 않습니다.
인터넷에서 내 문제를 찾아보고 발견했습니다.이것질문이 있지만 거기에 있는 솔루션 중 어느 것도 나에게 도움이 되지 않았습니다.
저는 Arch Linux 데스크톱을 사용하고 있는데 이 일이 발생한 이후로 시스템에서 로그아웃하지 않았습니다. 제안된 대로 다시 로그인할 수 없을까 봐 걱정되기 때문입니다.여기. 또한 도움이 된다면 Arch Linux 이미지의 라이브 USB가 없습니다.
시스템을 다시 정상으로 되돌리는 방법에 대한 도움을 주시면 대단히 감사하겠습니다. 감사해요!
편집하다:일부 명령의 출력을 첨부했습니다.
$ echo /*
/boot /dev /etc /home /lost+found /mnt /opt /proc /root /run /srv /sys /tmp /usr /var
$ echo /usr/*
/usr/bin /usr/include /usr/lib /usr/lib32 /usr/lib64 /usr/local /usr/sbin /usr/share /usr/src
또한 시스템을 엉망으로 만들지 않으면 터미널에서 실행할 수 있는 명령인 {command} echo /usr/bin/*
형식의 긴 디렉터리 목록이 제공되었습니다 ./usr/bin/{command}
추가 정보가 필요하면 알려주시기 바랍니다!
답변1
Arch Linux에는 다음 위치에 4개의 심볼릭 링크가 있습니다 /
.
bin -> usr/bin
lib -> usr/lib
lib64 -> usr/lib
sbin -> usr/bin
/
이를 다시 생성하거나(Live-USB 또는 비상 셸 사용) 링커를 직접 호출 할 수 있어야 합니다 (루트 권한 및 작업 디렉터리에서).
/usr/lib/ld-linux-x86-64.so.2 /usr/bin/ln -s usr/lib lib64
이렇게 하면 실행 중인 시스템의 기본 기능이 복원됩니다. 그러면 다른 심볼릭 링크를 쉽게 복원할 수 있습니다.
루트 권한이 없으면 재부팅해도 됩니다.복구 쉘그리고 거기서 문제를 해결하세요.
다른 명령이 실패하는 이유는 무엇 /usr/bin/ls
입니까?
기호 링크가 없으면 /lib64
동적으로 링크된 프로그램은 경로가 하드 코딩되어 있으므로 /lib64/ld-linux-x86-64.so.2
(cf ldd /usr/bin/ln
) 동적 링커/로더를 찾을 수 없습니다.
답변2
PATH 변수가 기존 디렉터리만 가리키도록 수정하세요.
PATH=/usr/bin:/usr/sbin
그런 다음 terdon의 답변에 표시된 대로 심볼릭 링크를 다시 만듭니다.
그런 다음 다른 터미널에서 로그인해 보세요.