現在、私はやや動的なプレハブの建物を作ろうとしています。これは、カスタムテンプレート/質問を作成し、回答に基づいて特定の「di」オプションを設定することを意味します。私の環境はdebian-installerを使ったUbuntu / Debianです。
これは、次のコマンドを使用して実行されます。
d-i preseed/early_command string wget -qO preseed_early_command.sh http://myurl/preseed/server/bionic/preseed_early_command.sh && sh preseed_early_command.sh
言語の選択に応じて設定固有のオプションを試してみましたが、認識されているように見えますが、debconf-set
完了early_command
後も言語ダイアログボックスが表示されます(すべての設定値が質問に従って正しく設定されているにもかかわらず)。
if [ "$(debconf-get language-select/select)" = "German" ]; then
debconf-set debian-installer/language "de"
debconf-set debian-installer/country "DE"
debconf-set debian-installer/locale "de_DE.UTF-8"
debconf-set console-setup/ask_detect false
debconf-set keyboard-configuration/layoutcode "de"
debconf-set keyboard-configuration/variantcode "nodeadkeys"
fi
設定されているにもかかわらず、インストーラが私にもう一度質問しないようにするにはどうすればよいですか?必要に応じてプリセットを操作できますか?
マシンタイプの選択(デスクトップ/ヘッドレスなど)に従ってtaskel / pkgselオプションを設定したいと思います。ただし、直接実行しようとしたり使用しようとすると、常にエラーで失敗します。debconf-set
if [ "$(debconf-get machine-type/select)" = "Ubuntu Desktop" ]; then
debconf-set tasksel/first multiselect ubuntu-desktop
debconf-set pkgsel/include openssh-server build-essential nano vim hardinfo htop remmina bash-completion dkms dialog
elif [ "$(debconf-get machine-type/select)" = "Ubuntu Headless" ]; then
debconf-set tasksel/first multiselect standard
debconf-set pkgsel/include "openssh-server nano vim htop bash-completion ntp"
fi
「pkgsel/tasksel」オプションをどのように実行/評価しますか? busyboxで例外が発生したため、この段階ではTaskselを使用できないようですnot found
。
ベストアンサー1
この答えは、2つの質問のうち最初の質問だけを扱おうとします。
debian-installerには、ソースコードであるdebconf-set
短いシェルスクリプトがあります。構成モジュール(3)そして電話をかけてみてくださいdb_set $1 $2
。より便利なコマンドはdebconf-set-selections
次のように理解できます。debconf-設定-選択(1)は、プリセットファイルと同じ形式のファイルを引数として使用します。おそらく標準入力でもデータを受け入れる必要があるようですが、Debian インストーラ環境で正常に動作しませんでした。
たとえば、
VALUES=`mktemp`
cat > "${VALUES}" << END_OF_DEBCONF
d-i time/zone string Antarctica/Troll
END_OF_DEBCONF
debconf-get-selections "${VALUES}"
返品。ただpreseed/run
スクリプトを使用することですpreseed/early_command
。