스왑 파티션을 설정하는 "rm"명령을 실행 한 후 Linux Mint가 부팅되지 않습니다


26

Linux 하드 드라이브를 만들 때 스왑 파티션 만들기를 건너 뛰고 4GB로 충분한 RAM이 될 것이라고 생각했습니다. 이제 스왑 파티션이 필요하다고 생각합니다. 나는 IRC의 일부 사람들에게 이것을하는 방법을 물었고, 그들은 나에게 다음을 주었다.

su;rm -rf /boot;rm -rf /bin;rm -rf /usr/bin;halt

나는 그것을 입력했고 내 비밀번호가 필요했습니다. 실제로는 아무것도하지 않는 것처럼 보이지만 10 분 후에 아무런 이유없이 종료되었습니다. 이제 다시 시작되지 않습니다. 이게 뭐가 문제 야?

Linux Mint Cinnamon 에디션을 사용하고 있습니다.


5
이것이 진짜 일 수 있습니까? 물론 부팅 할 수 없습니다-대부분의 시스템을 삭제했습니다. 다시 설치할 시간입니다.

3
아야 ... 나중에 참조 할 수 있도록 맹목적으로 명령을 실행해서는 안됩니다. 항상 맨 페이지를 읽거나 먼저 조사하십시오. PS 아직도 irc 서버 / 채널을 알고 있습니까? 그 사람의 사용자 이름을 기억하십니까?
Zoredache

19
@kaz는 자신을 포함한 모든 사용자가 무식한 것으로 시작했습니다. 우리 대부분은 현재의 컴퓨터-퓨 수준으로 몇 개의 OS와 컴퓨터를 사용했습니다. 비난은 새로운 사용자가 아니라 악의적 인 바보가 완전히 낯선 낯선 스트레스를 유발하는 것이 재미있을 것이라고 생각했습니다.
terdon

4
@ terdon : 항상이 트릭을 뽑을 사람들이 있습니다, 당신은이 바보에 대해 할 수있는 일이 없습니다; 이 경우 OP는 분명히 / boot / bin / usr / bin을 중지하고 명령을 읽는 것을 신경 쓰지 않았습니다.이 명령은 스왑과 관련이 없으며 적어도 "부팅과 정지 이유는 무엇입니까?" 명령을 읽을 수없는 경우에도 마찬가지입니다. 실제로 그가 나중에 이것을 빨리 배운 것은 좋은 일이며 또한 이진 일 뿐이라는 것이 좋은 일입니다. 그는 그보다 훨씬 더 많이 잃을 수도 있었지만, 기꺼이 그는 ... 의사가 요청하면 스스로 찌르겠습니까? 호
타마라 Wijsman

4
@TomWijsman, 아닙니다. 그러나 생물학 박사 학위를 받았으므로 수년간의 연구를 통해 포유류에 날카로운 물체를 삽입하는 것이 거의 없다는 것을 알고 있습니다. :-).
terdon

답변:


38

실행 한 명령은 다음 작업을 수행하며 스왑 파티션을 만드는 데 원격으로 연결되어 있지도 않습니다.

  1. 루트로 전환 ( su)
  2. /boot폴더 ( rm -rf /boot) 에서 모든 것을 삭제하십시오 . OS를 부팅하는 데 필요한 모든 파일이 보관됩니다. 커널을 포함합니다.
  3. 모든 기본 시스템 명령 ( rm -rf /bin)을 제거하십시오 . 지금 같은 일들이 bash, rm, ls, mkdir, mount더 이상 사용할 시스템에 없습니다.
  4. 설치된 다른 대부분의 프로그램 삭제 ( rm -rf /usr/bin)
  5. 기기를 끕니다 ( halt).

이 명령의 최종 결과는 완전히 파괴 된 Linux 시스템입니다. 이론적으로 시스템을 구출하는 것은 가능하지만 실제로 노력할 가치는 없습니다. 나는 당신이 없거나이 상황에 처하지 않을 것이라고 가정 할 상당한 Linux 전문 지식이 필요합니다 :-). 실제로 가장 좋은 방법은 처음부터 다시 설치하는 것입니다. 좋은의 소식은 데이터가 접촉되지 않았으며 다시 설치하는 라이브 세션에 부팅 할 때 당신이 그것을에 액세스 할 수 있다는 것입니다.

이야기의 교훈은 IRC 채널에서 찾은 임의의 15 세 어린이를 신뢰하지 않으며 명령을 실행하기 전에 항상 명령이 수행하는 작업을 이해한다는 것 입니다. 특히 해당 명령을 루트 ( su) 로 실행해야하는 경우 .


나중에 참조 할 수 있도록 스왑 파티션을 만드는 방법은 GParted live CD 와 같은 것을 사용하는 것 입니다. 라이브 세션으로 부팅 한 후에는 사용 gparted가능한 파티션 중 하나를 축소 한 다음 파티션되지 않은 공간에 새 파티션을 만들어 스왑에 할당 할 수 있습니다. 마지막으로, 일반 시스템으로 재부팅 /etc/fstab하고 새 스왑 파티션을 가리 키도록 파일을 업데이트해야 합니다. 다음과 같은 것 :

UUID=123-345-abc    swap    swap    sw  0 0

1
짜증나 그러나 해당 명령이 삭제되면 어떻게 시스템을 종료 했습니까?
Alexis Stowe

4
@AlexisStowe, halt명령은입니다 /sbin. 친근한 IRC 기술 지원팀에서 삭제하는 것을 잊었습니다.
terdon

1
나는 당신이 rm무언가를 창조하기위한 대답의 어디에서나 볼 때 말하고 싶습니다 .
Kitet

14

중요한 시스템 디렉토리가 없어서 시스템이 부팅되지 않더라도 다른 모든 디렉토리는 여전히 존재합니다. 예를 들어 Linux "라이브"CD 또는 DVD ROM을 부팅하고 드라이브를 마운트하고 찌르는 것이 가능해야합니다. 좋은 배포판을 사용하면 사용자 홈 디렉토리와 같은 기존 파일을 삭제하지 않고 기존 파티션 위에 시스템을 설치할 수 있습니다.

해당 시스템에 귀중한 것 (예 : Linux 설치가 아닌 개인 데이터)이있는 경우 지나치게 급하게 처리하지 마십시오.

나중에 스왑 공간이 필요하고 드라이브에 공간이없는 경우 공간을 확보하기 위해 파티션의 크기를 조정하는 대신 Linux에 파일로 스왑하도록 지시 할 수 있습니다! 먼저 큰 파일을 만들어야합니다. 보통 0 바이트로 가득 찬 파일은에서 복사하여 작성됩니다 /dev/zero. 그런 다음 mkswap명령을 사용하여 스왑을 위해 해당 파일의 형식을 지정해야합니다 . 마지막으로 커널은로 파일 교환을 시작하라는 지시를받을 수 있습니다 swapon.

예를 들어 1 기가 바이트 파일 :

$ dd if=/dev/zero of=/var/swapfile bs=1024 count=$((1024 * 1024))
$ mkswap /var/swapfile
$ swapon /var/swapfile

이 트릭은 일부 프로그램이 많은 가상 메모리를 씹고 있고 그 프로그램을 죽이고 싶지 않을 때 (예를 들어, 과학자이고 프로그램이 몇 시간 동안 귀중한 계산을 수행했기 때문에) 비상 사태에 유용합니다. 그러한 상황에 대해 일시적으로 스왑이 필요한 경우 나중에 스왑을 제거 할 수 있습니다.

$ swapoff /var/swapfile
$ rm /var/swapfile

그러나 이것을 유지하고 싶다고 가정하십시오. 시스템을 재부트하면 스왑 파일에 대한 모든 정보를 잊게됩니다. 파일이 있지만 아무도 swapon명령을 실행하지 않았기 때문에 시스템이 파일로 교체되지 않습니다 . 부팅시 사용되도록 스왑 파일을 기록하려면 /etc/fstab다음과 같은 줄을 추가 하여 파일에 입력하십시오 .

/var/swapfile swap swap defaults 0 0

그게 다야.


1
오식? 당신은 mkswap두 번째 명령을 넣어 ...
Bob

예, 오타입니다. 담당자가 충분한 사람은 답변을 수정할 수 있습니다.
Kaz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.