스왑 파티션을 설정하는 “rm”명령을 실행 한 후 Linux Mint가 부팅되지 않습니다 만들기를 건너 뛰고

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

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

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

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



답변

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

  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

답변

중요한 시스템 디렉토리가 없어서 시스템이 부팅되지 않더라도 다른 모든 디렉토리는 여전히 존재합니다. 예를 들어 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

그게 다야.


답변