bin456789/reinstall を使って VPS を再インストールする方法の記録です。スクリプトは次回起動時のインストール環境を準備してくれますが、再インストールはリスクのないワンクリック操作ではありません。対象のシステムディスク上のパーティションとデータは作り直され、再インストール後に SSH が一時的に使えなくなることもあります。
始める前に
まず、そのマシンが OpenVZ や LXC のようなコンテナではなく、完全な仮想マシンまたは物理マシンであることを確認します。システムディスク上で必要なファイル、データベース、アプリの設定、鍵はバックアップしておきましょう。追加でマウントしているデータディスクがある場合は、対象ディスクとバックアップ先をはっきりさせておくこと。「再インストールするつもりはない」はバックアップの代わりにはなりません。
サービス提供元の VNC、シリアルコンソール、その他のコンソールを開き、本当に入れることを確認します。パブリック IP、ゲートウェイ、サブネット情報、現在のネットワーク設定を控えておきましょう。コンソールがなく、復元できるバックアップもないなら、ここで止めてください。

説明図:DD 再インストール:再起動前に、もう一度確認する機会がある
スクリプトの実行と再起動は別の段階です。スクリプトの準備が終わっても、表示される案内を確認してください。再起動して初めて、その後のインストール処理に進みます。
スクリプトをダウンロードする
以下は現在のシステムが Debian または Ubuntu の場合です。他のディストリビューションでは、プロジェクトの説明に従ってダウンロードツールを入れてください。apt コマンドをそのまま真似しないように。
sudo -i
apt-get update
apt-get install -y curl ca-certificates
curl -fL -o reinstall.sh https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh
less reinstall.sh
ダウンロードに失敗したら、まずネットワークの問題を解決しましょう。-k を付けて HTTPS の検証を切らないでください。スクリプトは強い権限で実行されるので、入手元も中身も一度は目を通す価値があります。
対象のシステムを選ぶ
たとえば Debian 13 をインストールする場合:
bash reinstall.sh debian 13
Ubuntu 24.04 LTS を選ぶなら:
bash reinstall.sh ubuntu 24.04
どちらか一方だけ実行し、続けて両方は実行しないでください。他のシステムやバージョンについては、プロジェクトの現在のサポート一覧 を参照してください。Ubuntu 24.04 は LTS 版です。スクリプトの centos 9、centos 10 が対応するのは CentOS Stream で、メンテナンスが終了した旧 CentOS Linux 系ではありません。
案内に従ってアカウントとパスワードを設定し、スクリプトが示すログイン方法、インストール情報、注意事項を読み終えてから、再起動するかどうかを決めます。すべてのシステムが同じデフォルト root パスワードを使うと決めつけないでください。
再起動、経過観察、復旧
バックアップとコンソールの両方が使えることを確認してから、スクリプトが案内する再起動操作を行います。コンソールでインストールの進み具合を見守り、SSH が切れたからといってすぐに強制電源オフにしないでください。イメージのダウンロード、ディスク速度、ネットワーク設定によって所要時間は変わるので、何分で終わると断言はできません。
インストール後は、まずコンソールで起動とネットワークを確認し、それから自分のパソコンから SSH を試します。最後に、対象システムのバージョン、ディスクのパーティション、サービスの状態を確認し、計画どおりに業務を復旧させましょう。
まだ再インストール処理に入っておらず、今回の準備をキャンセルしたい場合、現在のスクリプトには次のコマンドがあります:
bash reinstall.sh reset
これは再インストールの準備を取り消すためのもので、ディスクに書き込まれた後のデータ復元ツールではありません。上書きされたデータは、バックアップと実際の復元条件に頼るしかありません。
参考:reinstall プロジェクトのドキュメント。この記事は現在のドキュメントに合わせて修正したもので、あなたの VPS で再インストールを実行したわけではありません。