リモートサーバーで誤って実行されたsudo rm / *


11

rm /*リモートのUbuntuサーバーにrootとしてログインしているときに誤って実行し、ほとんどすべてのバイナリを削除しました。現在、sshやftpを介してログインしてファイルを復元することはできません(そして、最善を望んでいます)。

この混乱をどうにかして修正する方法はありますか、それともデータセンターに電話してフォーマットを要求する必要がありますか?


2
これが物理サーバーか仮想サーバーかを確認できますか?また、-r引数を実行したかrm、実際に表示したコマンドを実行しただけか。ホスティングプロバイダーは、その特定のマシンの外部にあるディスクイメージにアクセスする方法を提供していますか?
カレブ2011

回答:


26

rm /*ほんの少し削除する必要があります。そこには-r再帰的に何かを削除するフラグはありません。フラグがないと、ディレクトリは削除されません(ディレクトリが削除されても、空のディレクトリのみ削除できます)。この回答は、実行しなかったという前提に基づいていますrm -rf /*

結果のルートファイルシステム内の唯一のファイルは、カーネルとinitrdへのシンボリックリンク(私が見ている1つのUbuntuシステムでは存在しませんが)または/lib6464ビットシステムのシンボリックリンクです。

問題は、/lib64 -> /libシンボリックリンクが削除されていることだけかもしれません。ただし、ほとんどすべてのプログラムがそのシンボリックリンクに依存しているため、これはかなり厄介です。

$ ldd /bin/bash
...
    /lib64/ld-linux-x86-64.so.2 (0x00007f8946ab7000)

これld-linuxがダイナミックローダーであり、利用できない場合は、ダイナミック実行可能ファイルを実行できません。これにより、ログインが非常に困難になり、まったくログインできない場合があります。

1人の救世主がいるかもしれませんbusybox。これを実行して確認します。

$ ldd /bin/busybox
    not a dynamic executable

この場合、busyboxは実行可能でなければなりませんが、問題はどのように実行できるかです。

ブートローダープロンプトにアクセスできる場合、で起動できる可能性がありますinit=/bin/static-sh。ここで、static-shはへのシンボリックリンクですbusybox/bin/static-sh存在することを確認してください-システムに存在しますが、標準のUbuntu ではありません。 このバグは、 。)

ルートシェルを/lib64取得したら、シンボリックリンクを再作成できます。最初にルートファイルシステムを読み取り/書き込みとして再マウントする必要があります。busyboxにはこれらのツールが組み込まれているはずです。これらのツールは次のように実行できます。

# busybox mount -o remount,rw /
# busybox ln -s /lib /lib64
# /bin/bash
bash# 

bashが機能する場合は、問題を修正する必要があります。


18

現在のインストールからファイルを回復する必要がある場合は、ホストに支援を依頼してください。それがVMであると仮定すると、ディスクのイメージを作成し、ホストを最初から再インストールし、古いディスクイメージを新しいファイルシステムにダンプするには、1日の約5分かかります。

何も必要ない場合は、再インストールしてもらいます。あなたが物事を骨抜きにするとき、ほとんど常により速いオプション。


2
同意する それらが適度に有能なVMホスティングサービスであれば、これを実行できるはずです。できる限り迅速に彼らに連絡して、それらがまだねじ込み前のバックアップを持っていることを確認してください。
Shadur 2011

2

/ libへの/ lib64シンボリックリンクを削除してもコンソールが開いたままの場合は、次のようにします。

/lib/ld-linux-x86-64.so.2 /bin/ln -s /lib /lib64

そして、通常どおりコマンドを再度実行できるはずです。実際のldライブラリへのパスを調整します。ldライブラリの完全なパスを前に付けるだけで、必要な他のコマンドを実行することもできます。


1

物理サーバーにアクセスできなければ、できることは多くありません。


それで、私はそのときフォーマットを求めるべきですか、それとも他のすべてをホイップせずにそれらのファイルを復元する方法はありますか?
Antの

これが仮想サーバーである可能性が高いことを忘れます。その場合、「物理サーバー」は、より高いレベルのリモートツールにアクセスできることを除いて、あまり意味がありません。
カレブ2011
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.