スワップパーティションをセットアップするはずの「rm」コマンドを実行した後、Linux Mintが起動しない


26

Linuxのハードドライブを作成していたとき、スワップパーティションの作成をスキップし、4 GBで十分なRAMになると考えました。今、私はスワップパーティションが必要だと思います。IRCの何人かの人々にこれを行う方法を尋ねると、彼らは私に以下を与えました:

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

入力しましたが、パスワードが必要でした。実際には何もしていないように見えましたが、10分後には理由もなくシャットダウンしました。今では再び起動しません。これの何が問題になっていますか?

Linux Mint Cinnamonエディションを使用しています。


5
これは本当ですか?もちろん起動できません-システムのほとんどを削除しました。再インストールの時間。

3
痛い...将来の参照のために、盲目的にコマンドを実行しないでください。常にマニュアルページを読むか、最初にそれらを調査するために時間をかけてください。PS IRCサーバー/チャンネルをまだ知っていますか?男のユーザー名を思い出しますか?
ゾレダチェ

19
@kaz、あなた自身を含むすべてのユーザーは、無知で始めました。私たちのほとんどは、現在のレベルのcomputer-fuに至るまでに、いくつかのOSとコンピューターを中断しました。責任は新しいユーザーではなく、完全に見知らぬ人の不必要なストレスを引き起こすのが楽しいだろうと思った悪意のあるバカにあります。
テルドン

4
@terdon:このトリックをやってのける人は常にいます。これらの馬鹿についてできることは何もありません。この場合、OPは明らかに/ boot / bin / usr / binとhaltを指定したコマンドを読むことすら気にしませんでした。これらはすべてスワップとは無関係で、少なくとも「なぜブートして停止するのか!」コマンドを読み取れなくても。実際、彼がこのことをすぐに学んだのは良いことであり、また、それが消去されたのは単なるバイナリであることも良いことです。彼はそれ以上のことを失ったかもしれませんが、喜んでそうしました...医者があなたにそうするように頼んだら、あなたは自分を刺しますか?いいえ
タマラWijsman

4
@TomWijsman、いいえ私はそうしませんが、生物学の博士号を持っているので、長年の研究とすべてで、哺乳類の体に鋭い物体を挿入することはめったに良いアイデアではありません:-)。
テルドン

回答:


38

実行したコマンドは次のことを行いますが、いずれもスワップパーティションの作成にリモートで接続されることはありません。

  1. ルートに切り替え(su
  2. /bootフォルダー内のすべてを削除します(rm -rf /boot)。これは、OSの起動に必要なすべてのファイルが保持される場所です。カーネルを含む。
  3. すべての基本的なシステムコマンド(rm -rf /bin)を削除します。今のようなものはbashrmlsmkdirmountお使いのシステムで利用可能なされなくなりました。
  4. インストールされている他のほとんどのプログラムを削除します(rm -rf /usr/bin
  5. マシンの電源を切ります(halt)。

これらのコマンドの最終結果は、完全に破壊されたLinuxシステムです。システムをレスキューすることは理論的には可能ですが、実際に努力する価値はありません。Linuxのかなりの専門知識が必要になりますが、そもそもあなたが持っていない、またはそもそもこのような状況にならないだろうと思います:-)。本当に最善のことは、単にゼロから再インストールすることです。良いニュースは、あなたのデータは触れられていないと、再インストールするライブセッションで起動したときに、それへのアクセス権を持っているということです。

ストーリーの教訓は、IRCチャンネルで見つけた15歳のランダムな人物を信用せず、コマンドを実行する前にコマンドの動作常に理解することです。特に、そのコマンドをルートとして実行する必要がある場合(su)。


将来の参照のために、スワップパーティションを作成する方法はGParted live CDのようなものを使用することです。ライブセッションを起動したらgparted、使用可能なパーティションの1つを縮小し、パーティション化されていないスペースに新しいパーティションを作成して、スワップに割り当てることができます。最後に、通常のシステムを再起動し、/etc/fstabその新しいスワップパーティションを指すようにファイルを更新する必要があります。何かのようなもの:

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

1
ひどい。しかし、そのコマンドが削除された場合、どのようにしてマシンをシャットダウンしましたか?
アレクシスストウ

4
@AlexisStowe、haltコマンドはにあり/sbinます。フレンドリーなIRC技術サポートは、それを削除するのを忘れていました。
テルドン

1
rm何かを作成するための答えのどこかを見たら、実行してください。
キテ

14

重要なシステムディレクトリがなくなったためシステムは起動しませんが、他のすべてのディレクトリはそこにあります。たとえば、Linuxの「ライブ」CDまたはDVD ROMをブートし、ドライブをマウントして、突くことができるはずです。適切なディストリビューションを使用すると、ユーザーのホームディレクトリなどの既存のファイルを削除せずに、既存のパーティションの上にシステムをインストールできます。

そのシステムに価値のあるもの(つまり、Linuxのインストールだけでなく、個人データ)があった場合、それ以上の損失を招くような過度の性急な行為をしないでください。

将来、スワップスペースが必要で、ドライブにスペースがない場合、パーティションのサイズを変更してスペースを空けるのではなく、ファイルにスワップするようにLinuxに指示できます!まず、大きなファイルを作成する必要があります。通常、ゼロバイトでいっぱいのファイルはからコピーして作成され/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...その2番目のコマンドで
ボブ

はい、タイプミス。十分な担当者がいる人なら誰でも回答を編集できます。
カズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.