Ubuntu 18.04サーバーとCentos 7.6の両方の完全自動インストールを実行するPXEサーバーをセットアップしました。
私の問題は、インストール後、Ubuntuシステムのsources.listファイルにPXEサーバーIPがあり、インターネットリポジトリを指すようにしてほしいということです。
Centosシステムにはインターネットネットワークリポジトリがあるため、これを実行できる必要があります。
どちらのインストーラも、ローカルインストールファイルへのポインタにurlディレクティブを使用します。 Centosインストールはキックスタートファイルを使用し、ubuntuはキックスタート/プレシードハイブリッドファイルです。
ベースサーバーに必要な特定のファイルしかないので、展開後に更新する必要があります。
現在の回避策は、ローカルのsources.listファイルのインストール後コピーを実行して、インストール中にUbuntuが自動的に作成するものを置き換えることですが、これはハックのように感じます。
私はpreseedを使用してこれを正しく行う方法を見つけていません。また、インストールの完了後にこの変更を行う自動化された方法も見つけていません。
たとえば、米国で最初のインストールを行ったが、日本に移動した場合、sources.listファイルを... us.archive ...から...に変更する自動化された方法が必要になると思います。 jp.archive ...
だから、私の要求はどちらかです
インストールにローカルリポジトリを使用し、OSのインストールが完了すると、その場所のインターネットリポジトリをセットアップするPXE preseedファイルの例
または
地理的な場所が変わった場合に、sources.listファイルを自動的に更新するために実行できるUbuntu実行可能ファイル。
Ubuntuサーバーのインストールにpreseedファイルを使用する場合、インストールが終了するとすぐに実行される最新のコマンドを挿入することもできます。 apt-mirror-updaterコマンド、または自分に適したその他のコマンドを実行することもできます。
例:
d-i preseed/late_command string in-target apt-mirror-updater ["your params here"]
もう一つの例::
d-i preseed/late_command string in-target add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ Bionic universe multiverse"
さらに読む: apt-mirror-updater:Automated Debian/Ubuntu mirror selection付録B. preseedingを使用したインストールの自動化