web-dev-qa-db-ja.com

「yum remove python」の後にサーバーがワイプされました

yum remove pythonコマンドを実行した後、災害が発生し、サーバーを起動できなくなりました。

それが起こった方法:私のCentOS 5 VPSでyumを介していくつかのアプリを更新しようとしましたが、奇妙なpython 2.4エラーが原因でコマンドが失敗しました。私のバージョンのpythonは古く、最初に削除して再インストールしようとしたので、yum remove pythonを実行しました。

その後、依存関係の削除について何か尋ねられ、見逃すことはできないようだったので、Yをクリックしました。

そのため、その後、私はこれまで何もコマンドを実行できなくなりました。私もcd /var/wwwを試しましたが、「command does not exist in /usr/bin」のようなものでした。私が使ったとき tab フォルダーナビゲーションの提案を表示するには、ファイル構造がまだ存在しているように見えます(少なくとも/var/wwwビットは、私にとって非常に重要です)。その後、vpsを再起動してみたところ(rebootコマンドが機能しなかったため、管理パネルから)、起動しなくなりました。

今私の質問です:そのようなコマンドはどのようにしてこのような私のサーバーを破壊することができますか?

65
tadoman

誠に申し訳ございません。サーバーを起動できない/サービスできないようにするのは苦痛です。

しかし、それを読んだとき私は迷っています:

その後、依存関係の削除について何か尋ねられ、見逃すことはできないようだったので、[Y]をクリックしました。

pythonはRHEL/CentOSの重要な部分であるため、削除されるパッケージのリストは確かにreallyでした。 never本当に理解していない警告メッセージを確認してください。

あなたができる最善のことは、すでに示唆したように、リカバリメディア(つまり:livecd)を介して起動し、必要なデータファイルを抽出し、マシンを新しいCentOSリリースで再インストールすることです(CentOS 6はかなり古いので、私は強くCentOS 7でリベースすることをお勧めします。

67
shodanshok

率直に言って、あなたが完全に理解していないことをしたからです。 PythonはOSの重要な部分であり、重要ではないと考えていることが非常に重要です。バックアップから復元してください。


Pythonを削除すると、yumは、削除されるパッケージの長いリストを表示しました。このリストには、yum自体、coreutilsnet-tools その他。あなたは自分が何をしているかを知っていて、とにかく続行したいことをyumに確認しました。この結果、システムが機能しなくなります。これは驚くべきことではありません。

ちなみに、新しいCentOSバージョンでは、特定のパッケージが保護対象としてマークされており、削除できず、再インストールまたはアップグレードのみできるため、これはもう不可能です。そして、とにかくCentOS 5はEOLになっているので、これは新しいバージョンにアップグレードする良い機会です。

106
Sven

結果を完全に理解せずに何かをした

そのインストールは回復不能であり、centos5を再インストールするには多くの作業が必要になります。そしてそれは悪い計画です

  1. CentOS 5はサポートが終了しているため、アップデートはありません。公共のインターネットでコンテンツを提供しているウェブサーバーのように聞こえ、それを制御するためにパネルアプリを使用していることを考えると、これは非常に深刻です。
  2. CentOS> 5では、この更新を行ってボックスを強制終了することはできませんでした。それはいいエアバッグです。
  3. CentOS 7は、適切なメジャーバージョンアップグレードをサポートすると主張しています。私はそれを使ったことがありませんが、リリース時に7から8にジャンプできることは非常に良いことです。 Debianにはこれが永遠にありましたが、Redhatは常にメジャーバージョンのジャンプのために再インストールを必要としました。

ソリューション

最善の策は、新しいVPSを作成し、CentOS7を新規インストールしてから、古いcentos5ディスクボリュームを再接続して、読み取り専用でマウントすることです。次に、古いドライブから新しいドライブにデータをコピーする(移動しない)作業を行います。

これはAWSを使用する私の方法になることに注意してください。 VPSプロバイダーが別のVMにディスクを接続できない場合は、計画を微調整する必要があります。

何をするにせよ、将来的に自動バックアップを設定することを検討してください。それはあなたを救うことはないでしょうが、それは回復をいくぶんより柔軟にするでしょう。現在、新しいディスクのデータが新しい作業サーバーに必要です。既存のディスクを失わないでください。

15
Criggie

これはどうして起こりますか?非常に単純です。サーバーにとって重要な部分を削除することによって。

次のステップ:新しいOSを再デプロイし、バックアップからデータを復元します。

9
EEAA

コメントでdragon788や他の人が指摘したように、Gentooでは、開発者はtinderboxパッケージのセットも維持していますこのような状況に対応するために、OSのコアパッケージセットのビルド済みバイナリバージョンのみ。コアパッケージを紛失した場合は、LiveCD/DVDからシステムを起動し、故障したサーバーのOSドライブをマウントして、ファイルシステムにTinderboxパッケージを展開し、マウント解除して再起動します。正しく起動した場合は、パッケージをサーバーの仕様と構成に再構築します。

したがって、CentOSで同様のことを実行するには、アンインストールされたRPMの適切なバージョンを見つけて、LiveCD/DVDで起動し、OSドライブとchrootをマウントする必要があります(おそらく... 「-relocateフラグをrpmに使用する方法では、必要ない場合がありますchroot)に移動し、それらのパッケージを再インストールして、マウントを解除して再起動します。

もちろん、CentOS 5のサポートは先月終了したため、システムを適切に再起動した後、現在のバージョンに更新できます。

HTH。

4
B.Kaatz

通常、インストールメディアから起動してからchrootを実行してコマンドを実行するか、現在のインストールとリカバリファイルを入力するか、パッケージの再インストールを実行します。

0
dragon788