Hetznerまたはいくつかの役立つコマンドでUbuntuサーバーを復元する



この小さなチートシートは、実験または更新の失敗時に突然サーバーへのpingを停止したり、 sshが落ちたりした人などを対象としています。 簡単に言えば、更新、ハッキングなどの後にサーバーを復元することです。 私の気持ちによると、後者はあまり一般的ではありません。

言及されたhetznerは、そのサービスをしばしば使用しなければならないという事実のために、本質的に非常につかの間です。

再開、パーティションのマウント、chroot


そのため、最初に、たとえば別の再起動後、システムにアクセスできません。 したがって、システムを再インストールするか復元するという2つのオプションが残っています。 VPSの場合、Heznerは単に新しいシステムをローリングします。もちろん、ディスクには何も残っていません。 したがって、我々は確かに回復を選択します。
レスキューから再インストールするには、次のコマンドを使用します。
 installimage 




その後、hetznerは生成されたパスワードを表示します。 管理パネルからサーバーを再起動して接続します。これはsshssh root@55.22.33.44 IPアドレスを介して行う方が良いssh root@55.22.33.44
ログインは当然ルートです。

ログイン後、この種類のroot@rescue chroot招待で迎えられchroot色はブルーroot@rescue変わります

最初に行うことは、ドライブの名前を確認することです。
 ls /dev/[hsv]d[az]*[0-9]* #    : /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 


次に、システムでディスクをマウントします。
 mount /dev/sda3 /mnt 

まだ、パーティションやその他のパーティションには触れません。 マウント後、 /dev /sys /procの内容を表示する必要があります/dev /sys /procそうでなければ、カーネルなしで放置された場合、配信されません。
 mount --bind /dev /mnt/dev/; mount --bind /proc /mnt/proc/; mount --bind /sys /mnt/sys/ 

debianはこの行を置き換える便利なコマンドがありますが、 ubuntuでは検出されませんでした。
 chroot-prepare /mnt 

その後:
 chroot /mnt; 

これで、他のすべてをマウントできます: /boot
 mount -a 

この段階では、原則として、私たちの管理下にない、最近制御されたシステムがあります。

診断


多くの場合、アップグレードまたはインストールの問題に対処する必要があります。 ここでは、もちろん、何かを詳述することは困難です-ディストリビューションが更新された場合にのみ、 画面でそれを行うことができます
例:
 screen -S upgrade apt-get update apt-get dist-upgrade do-release-upgrade 

最も一般的な問題の1つの理由は、ディスクスペースの平凡な不足です
 df -h 

時々、場所があり、空きノードがないことがあります。 次に、これは更新の失敗とさらなる問題につながります。
 df -i 

安全性

ハッキングまたは破壊された疑いがある場合、最初に行うことは、現在サーバー上にいるユーザーを確認することです。
 who 

誰がどのコマンドを入力したかを確認します。
 last 

物語を見てください
 history 

もちろん、これらはすべて半分の測定値ですが、それにもかかわらずです。
次に必要なもの:


更新とインストール:
 apt-get install rkhunter rkhunter --update 

ルートキット検索:
 rkhunter -c -sk 

Warnin-govは、特に/binおよび/usr/binで多くを見つける可能性が高い
まだ代替手段があります:
chkrootkitをインストールします。
 apt-get install chkrootkit 

ルートキット検索:
 chkrootkit 


回復


/bootフォルダーが空でgrubがシステムにインストールされていない最悪のシナリオを考えてください。カーネルがなく、ほとんどのパッケージが壊れています。

システム回復


クリーンパッケージアーカイブ
 apt-get clean 

既に削除されたパッケージから削除されていない依存関係を削除します
 apt-get autoremove 


grub2grub2
 apt-get install grub2 

MBR grubを書く
 grub-install /dev/sda 

通常のカーネルをインストールまたは再インストールします。
 apt-get install linux-image-xxx-xx-generic --reinstall 

GRUBメニューの更新
 update-grub 


依存関係の競合を解決するために設計されたコマンドを実行します。
 apt-get install -f dpkg --configure -a 


すべてのパッケージを再インストールします。
 apt-get install --reinstall `dpkg --get-selections | grep -v deinstall | awk '{print $1}'` 


問題の内容がわかっている場合は、目的のパッケージを再インストールするだけです。
 apt-get install {_} --reinstall 


最後に、再度実行できます:
 apt-get install -f dpkg --configure -a 


おわりに


Ctrl+Dまたはexitを使用してchrootを終了した後exit実行します。
 reboot 


何が起こったのか見てみましょう。 問題が残っている場合は、すべてが新しく、見逃しているものを見て、できる限り/var/log注意を払い/var/log

推奨されるレシピはすべて万能薬ではありません。 おそらく他の誰かがそのような問題を異なる方法で解決したかもしれませんが、これらのレシピは私を助けてくれました。

便利なリンク:

wiki hetznerレスキューシステム
Ubuntu wiki GRUBリカバリ
スクリーン

Source: https://habr.com/ru/post/J237727/


All Articles