最近、次のような質問を受けました。
ルート ファイルシステムがマウントされておらず、マウントできない (失われている) 場合、バイナリがなく、ルート シェルしかない場合、どのようにして Linux サーバーを再起動できますか。
これは /proc と関係があると思われますが、おそらくまったく不可能です。そのような状況で私が何をすべきかについて、どなたかアドバイスをいただけませんか?
答え1
ルート ファイル システムがなく、質問で指定されているようにバイナリもない場合は、エコーは機能しないと思います。したがって、唯一の解決策は、@Pazi が言ったように SysRQ Magic Keys を使用したハードウェア キーボード割り込みです。
そのためには、次の操作を行う必要があります: Alt+ Print Screen / SysRq+some key
ここでは、次のようになります: Alt+ Print Screen / SysRq+ b(bファイルシステムをアンマウントしたり同期したりせずに、システムを直ちに再起動します。)。
その他のマジックキーとその機能については、Wikipedia: マジック SysRq キーまた、QWERTY 以外のレイアウトでは他の物理キーが使用される場合があることに注意してください。
答え2
マジック sysrq キーを使用して再起動できます:
echo b > /proc/sysrq-trigger
詳細については、ウィキまたはカーネルドキュメント。
echo
はシェルの組み込みコマンド(bash と dash で知られている)でもあり、/bin/echo
使用できない場合に使用されます。