O Linux Mint não inicializa após executar o comando “rm” que deveria configurar uma partição de swap

26

Quando eu estava criando meu disco rígido Linux, eu pulei a criação de uma partição swap, pensando que 4GB seria RAM suficiente. Agora, acho que preciso de uma partição swap. Eu perguntei a algumas pessoas no IRC como fazer isso, e elas me deram o seguinte:

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

Eu entrei nisso e precisava da minha senha. Não parecia que estava fazendo nada, mas 10 minutos depois ele simplesmente parou sem razão. Agora não vai começar de novo. O que há de errado com isso?

Estou usando o Linux Mint Cinnamon Edition.

    
por Alexis Stowe 29.01.2013 / 21:23

2 respostas

38

Os comandos que você executou fazem o seguinte, nenhum deles está nem remotamente conectado à criação de uma partição swap:

  1. Mudar para a raiz ( su )
  2. Exclua tudo na pasta /boot ( rm -rf /boot ). É onde todos os arquivos necessários para inicializar seu sistema operacional são mantidos. Incluindo o kernel.
  3. Remove todos os comandos básicos do sistema ( rm -rf /bin ). Agora, coisas como bash , rm , ls , mkdir , mount não estão mais disponíveis para o seu sistema.
  4. Excluir a maioria dos outros programas instalados ( rm -rf /usr/bin )
  5. Desligue a máquina ( halt ).

O resultado final desses comandos é um sistema Linux completamente destruído. É teoricamente possível resgatar seu sistema, mas realmente não vale o esforço. Isso exigirá considerável experiência em Linux, o que eu suponho que você não tem ou você não estaria nessa situação em primeiro lugar :-). A melhor coisa a fazer é simplesmente reinstalar do zero. A boa notícia é que seus dados não foram tocados e você terá acesso a eles quando você iniciar uma sessão ao vivo para reinstalar.

A moral da história é: não confie em pessoas aleatórias de 15 anos que você encontra nos canais de IRC e sempre entenda o que um comando faz antes de executá-lo . Especialmente se esse comando precisar ser executado como root ( su ).

Para referência futura, a maneira de criar uma partição swap é usar algo como CD ao vivo do GParted . Uma vez que você tenha iniciado a sessão ao vivo, você pode usar gparted para reduzir uma das suas partições disponíveis, então criar uma nova no espaço não particionado e designar isso para trocar. Finalmente, você terá que reinicializar em seu sistema normal e atualizar seu arquivo /etc/fstab para apontar para essa nova partição swap. Algo como:

UUID=123-345-abc    swap    swap    sw  0 0
    
por 29.01.2013 / 21:43
14

Embora o seu sistema não inicialize porque diretórios importantes do sistema desapareceram, todos os outros diretórios ainda estarão lá. Deveria ser possível, por exemplo, inicializar um CD ou DVD ROM "ao vivo" do Linux, montar o drive e pesquisar. Qualquer boa distro também deve permitir que você instale o sistema por cima de uma partição existente sem excluir os arquivos existentes, como os diretórios iniciais do usuário.

Se houver algo nesse sistema que seja valioso (ou seja, seus dados pessoais, e não apenas a instalação do Linux), não faça nada precipitadamente que resulte em perda adicional.

Se, no futuro, você precisar de espaço de troca e não houver espaço na unidade, em vez de tentar redimensionar partições para liberar espaço, é possível dizer ao Linux para trocar por um arquivo! Primeiro você tem que criar um arquivo grande. Normalmente, um arquivo cheio de zero bytes é criado copiando de /dev/zero . Em seguida, esse arquivo deve ser formatado para troca usando o comando mkswap . Finalmente, o kernel pode ser instruído a iniciar a troca para esse arquivo com swapon .

Por exemplo um arquivo de gigabyte:

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

Esse truque é bom para emergências quando algum programa está mascando muita memória virtual, e você não quer matar esse programa (porque, digamos, você é um cientista e o programa tem feito cálculos valiosos para horas). Se você precisar apenas da troca temporariamente para tal situação, você pode se livrar dela depois:

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

Mas suponha que você queira manter isso. Se você reiniciar o sistema, ele irá esquecer tudo sobre o seu arquivo de troca. O arquivo estará lá, mas o sistema não estará trocando nele porque ninguém executou o comando swapon . Para gravar o arquivo de troca para que ele seja usado na inicialização, insira-o no arquivo /etc/fstab adicionando uma linha como:

/var/swapfile swap swap defaults 0 0

É isso.

    
por 30.01.2013 / 05:21

Tags