Arch Linux 설치에서 실수로 sudo rm /*를 실행했습니다.

Arch Linux 설치에서 실수로 sudo rm /*를 실행했습니다.

내용을 삭제하고 싶은 디렉토리에 있지 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의 답변에 표시된 대로 심볼릭 링크를 다시 만듭니다.

그런 다음 다른 터미널에서 로그인해 보세요.

관련 정보