데스크탑을 삭제했는데 모든 것이 멈췄습니다. 내가 뭘 한거지?

데스크탑을 삭제했는데 모든 것이 멈췄습니다. 내가 뭘 한거지?

그래서 저는 라이브 디스크 실험(외부 HHD를 라이브 디스크로 사용)을 하면서 이를 중지하기 전에 데스크톱에 9,023개의 디렉터리를 만드는 스크립트를 만들었습니다. 멍청한 놈이기 때문에 나는 혼란을 정리하기 위해 다음 명령을 실행했습니다.

rm -rf Desktop 

그런 다음 내 홈 디렉토리에 Desktop이라는 새 폴더를 만들었습니다. 내 컴퓨터는 몇 초 동안 잘 작동했지만 마우스를 제외한 모든 것이 멈췄습니다. 다행스럽게도 모든 것이 라이브 디스크에 있었기 때문에 손실된 것은 없지만 실제로 무엇을 했는지 알고 싶습니다.

나는 "우분투 삭제된 데스크탑 디렉토리" 및 기타 변형을 구글에 검색해 보았지만 사람들이 그것을 다시 가져오지 않고 제거하려고 한다는 것뿐이었습니다.

편집: 내가 실행한 포크 폭탄에 약간의 관심이 있었습니다. 웃지 마세요:

while true; do
for i in a; do
declare b=b+1
mkdir "$b" 
done
done

나는 그것이 무엇을 할 것인지 어느 정도 짐작했지만, 제어할 수 없게 되기 전에 빨리 죽일 수 있는 Python으로 작업하는 데 익숙했습니다.

미래의 어느 시점에 이 글을 읽는 누군가에게: 포크 폭탄을 사용하지 마십시오. 엉망이 됩니다.

추신: 처음에 그렇게 하는 것이 얼마나 멍청한 일인지 말하기 전에, 제가 배울 수 있도록 그런 일을 할 목적으로 따로 보관된 라이브 디스크에 있었다는 점을 참고하시기 바랍니다.

답변1

Live USB를 사용하여 이 작업을 수행한 것이 좋습니다. 그렇지 않으면 거의 확실하게 일부 데이터가 손실될 것입니다. 그 후에 청소하는 것은 엄청난 시간 낭비였을 것입니다.

먼저 포크 폭탄이라고 알려진 것을 실행했습니다. 포크 폭탄은 디스크 공간을 채우거나, CPU 주기를 소모하거나, 모든 RAM을 소모할 때까지 새로운 프로세스, 폴더 또는 파일을 계속 생성하는 간단하고 종종 난독화된 명령입니다. 이로 인해 더 이상 제공할 리소스가 없기 때문에 컴퓨터가 정지됩니다.

둘째, DE(데스크톱 환경)를 삭제했는데, 이는 상호 작용하는 그래픽, 열려 있는 창(일종의 창 관리자가 있지만 지금은 건너뛰겠습니다)입니다. 기본적으로 클릭할 수 있는 모든 것을 죽였습니다.

배우는 것이 좋습니다. 터미널에 명령을 입력하기 전에 즐겨 사용하는 검색 엔진을 사용하세요. 항상 를 누르기 전에 명령이 무엇을 하는지 알아보세요 ENTER. 나는 그것을 충분히 강조할 수 없다. 의도적으로 당신을 오도하는 사람들이 있습니다. 터미널은 잠재적으로 강력한 도구입니다. 도구 상자에 있는 가장 훌륭한 도구이지만 모든 도구와 마찬가지로 조심스럽게 사용해야 합니다.

포크 폭탄에 대한 명령이 무엇인지 알려주시면 우리는 이를 소화하여 정확히 무엇을 했는지, 왜 수행했는지 알려줄 수 있습니다. 당신은 호기심이 많은 것 같으니 그것도 배우고 싶나요?


편집하다:

이제 포크 폭탄의 코드가 포함되었습니다. 다음 사람이 올 수 있도록 이 내용을 포함하겠습니다. 이를 보고 논리를 구문 분석하면 조건이 종료되는 한(true) 뭔가를 수행하고(열거된 디렉터리 만들기) 중지하라는 메시지가 없기 때문에(루프), 리소스가 소모되거나, RAM이 모두 소모되거나, 충돌이 발생하여 작동이 멈출 때까지 계속됩니다. (이것은 메모리 누수와 같은 모든 종류의 것일 수 있지만 여기서는 아마도 중요한 요소가 아닐 것입니다.)

사물의 소리나 내가 읽는 내용으로 볼 때, 당신은 꽤 좋은 일을 한 것 같습니다. 이는 다른 사람들에게 코드를 실행하지 말라는 명확한 경고입니다(편집 기능을 사용하여 게시물에 코드를 추가해야 하며 원하는 경우 다른 사람이 추가할 수 있습니다). 창의적이었습니다. 나는 그것이 그런 식으로 수행되는 것을 본 적이 없다고 생각하지만 이론은 그들 모두와 거의 동일합니다. 다시 말하지만, 이는 난독화된 코드에 숨겨져 있거나 Perl을 구문 분석하는 방법(예를 들어)을 모르는 경우 이해하지 못할 수도 있는 코드일 수 있습니다. 하지 말아야 할 일을 보여주는 좋은 예입니다.

감히 말씀드리지만, 설치를 마치고 좀 더 재미있게 즐겨보세요. 좋은 백업을 유지하십시오.

답변2

재부팅하고 가상 콘솔에서 데스크탑 디렉토리를 다시 생성한 다음 데스크탑에 다시 로그인하면 문제가 해결됩니다. 포크 폭탄을 실행했거나 데스크톱 환경에서 데스크톱 디렉터리를 사용하려고 시도하는 동안 데스크톱 디렉터리가 사라져서 컴퓨터가 충돌했지만, 두 경우 모두 내가 제안하는 수정 프로그램을 통해 문제를 복구할 수 있습니다(데스크톱에 있던 모든 내용을 잃어버렸음에도 불구하고).

답변3

아니요, 그건 포크폭탄이 아닙니다. 포크폭탄은 CPU가 없어질 때까지 프로그램을 반복적으로 실행하기 때문에 zip 폭탄에 관심이 있을 수도 있습니다. zip 폭탄은 42와 같이 데이터가 거의 포함되지 않은 것처럼 보이도록 압축된 zip 파일입니다. 42kbs의 압축 데이터가 포함된 .zip 그리고 zip 파일을 추출합니다. 아, 이런, 테리바이트의 데이터가 있는데 컴퓨터가 이 항목을 처리할 수 없습니다. 이제 컴퓨터가 반복적으로 작동 중단됩니다. 기본적으로 폭탄은 해를 끼치기 위해 존재하는 프로그램입니다. 당신의 CPU. 하지만 Windows에서 C: 드라이브를 삭제하고 새 드라이브를 만드는 것과 같이 핵심 시스템 파일을 삭제했습니다. C: 드라이브에는 Windows의 중요한 파일이 포함되어 있으므로 OS를 삭제하면 C:/Windows/는 어디에 있습니까? AUTOEXEC.bat를 사용하면 컴퓨터가 더 이상 다시 부팅되지 않습니다.

관련 정보