Debian の preseed インストールはどのように機能しますか?

Debian の preseed インストールはどのように機能しますか?

私は Debian サーバー用の自動インストーラーを作成しようとしています。ハードウェアが壊れた場合、従業員は言語を選択したり、ユーザーを追加したりすることなく、そして最も重要なことに IT 部門に電話することなく再インストールできます。Debian の Web サイトで preseed ファイルに関連するすべてのドキュメントを読みましたが、うまくいきませんでした。preseed.cfg ファイルをすでに作成しており、動作するはずですが、インストーラーがそれを認識しません。ISO に preseed ファイルを埋め込むサードパーティのスクリプトも試しましたが、これも機能しませんでした (USB から起動できませんでした)。preseed.cfg をどこに配置すればよいか、また実際にそのファイルを使用する方法でインストーラーを起動する方法について、簡単なステップバイステップのガイドを提供してくれる人はいますか?

[アップデート]

これまで私がやったことは以下の通りです:

1) Debian の Web サイトにあるサンプル ファイルに基づいて、pressed.cfg ファイルを作成しました。

2) USB Debian インストーラーを作成しました (dd コマンドと rufus の両方で試しました)。どちらも preseed ファイルなしで動作しました。

3) preseed.cfg を USB ルートと「preseed」というフォルダーにコピーしました (どこかで役立つかもしれないと読みました)。

4) PCを起動し、USBから起動しました。

5) 自動インストール オプションを選択し、Tab キーを押してパラメータ エディターを開き、「preseed/file=/hd-media/preseed.cfg」を追加しました。

この時点で、preseed ファイルが見つからないというエラー メッセージが表示されるか、ブート パラメーターが完全に無視されて通常のインストールが開始されます。

表示されるエラーメッセージは次のとおりです:

Failed to retrieve the preconfiguration file

The file needed for preconfiguration could not be retrieved from /hd-media/preseed.cfg.
The installation will proceed in non-automated mode.

サーバー設定を公開したくないので、自分のサイトで preseed ファイルをホストすることは避けたいと思っています。

答え1

Preseed ファイルはさまざまな方法で動作します。取得する具体的な詳細は非常に複雑になり、ハードウェアによって異なる場合があります。

インストーラーがネットワーク ハードウェアをサポートしていると仮定すると、1 つの方法はインストーラーに preseed ファイルへの URL を渡すことです。

別の方法は、initrd.gz を変更してそこにファイルを埋め込むことです。

DHCP サーバー経由で preseed を提供できます。

CD イメージ上のファイルに配置できます。

ほとんどの場合、ブート コマンド ラインで追加のパラメーターを渡す必要があるため、ファイルの配置に加えて、インストール メディアのブートローダーを更新する必要があります。

インストール ガイドには、必要な一般的な情報のほとんどが記載されています。

起動に USB メディアを使用するとおっしゃっているので、おそらく、ファイルの配置場所と必要な起動オプションについて説明しているセクション B.2.1 を参照する必要があるでしょう。

- if you're installing from USB media (put the preconfiguration file in the
  toplevel directory of the USB stick):
  preseed/file=/hd-media/preseed.cfg
  preseed/file/checksum=5da499872becccfeda2c4872f9171c3d

答え2

preseed/file=/hd-media/preseed.cfgを に変更しますpreseed/file=/cdrom/preseed.cfg

preseed パスは、インストーラーのファイル システム レイアウトを考慮して指定する必要があります。initramfs はルート ファイル システムとしてマウントされますが、デフォルトのインストール メディアはソースを にマウントします/cdrom/

  • preseed.cfgがinitramfsのルートにある場合は、/preseed.cfg
  • preseed.cfgがCD-ROM/USBのルートにある場合は、次の場所にあります。/cdrom/preseed.cfg

私の知る限り、これは現在すべての公式DebianおよびUbuntuインストールメディアで正確です。これが変更された場合、またはインストールメディアの作成中に何かを変更した場合は、次のように入力して正しいパスを確認できます。専門家インストーラーのモードで、そこからシェルを起動してファイルシステムの場所を確認するオプションを使用します。

答え3

私が行ったことは次のとおりです: 1) Debian 10 で起動可能な USB を準備しました。2) ペンドライブのホーム ディレクトリに preseed.cfg を「preseed.txt」としてコピーしました。3) インストール メニューで「詳細 > 自動インストール」を選択しました。4) Preseed ファイルとして file:///cdrom/preseed.txt を通知しました。

PS: 「preseed.cfg」という名前では機能しませんでした。

関連情報