web-dev-qa-db-ja.com

preseed中にapt-getの更新とアップグレードを行う方法は?

現在、パッカーを使用してapt-get update && apt-get upgrade -yを実行するbashスクリプトを使用しています。可能であれば、プレシードフェーズでこれを実行します。これを行う方法はありますか?

このd-iコマンドは機能すると思いましたが、Sudo apt dist-upgradeを実行したくありません。誰かがこれらの値を説明できますか?

# Whether to upgrade packages after debootstrap.
# Allowed values: none, safe-upgrade, full-upgrade
#d-i pkgsel/upgrade select none

プレシードを使用した梱包プロセスでパッケージのアップグレードを行う方法はありますか?

2

プレシード:

d-i preseed/late_command string \
  in-target rm -rf /var/lib/apt/lists ; \
  in-target apt-get update ; \
  in-target apt-get -y upgrade ; \
  in-target apt-get -y dist-upgrade ; \
  in-target apt-get -y autoremove ; \
  in-target apt-get autoclean ; \
  in-target apt-get clean
  • これにはdist-upgradeが含まれますが、簡単に削除できます。

Ubuntuにはpreseedサポート付きのキックスタートがあり、キックスタートは「%post」オプションを使用して次のように実行できます。

%post --interpreter=/bin/bash
#!/bin/bash 
apt-get update && apt-get upgrade -y

Kickstart プレシードを使用できます:

Preseedとの統合

DebianのpreseedはUbuntuのインストール全体を完全に自動化できますが、公式のRed Hatキックスタート言語は自動化できません。このため、Ubuntuキックスタートには、Kickstartファイル内でpreseedオプションを使用できる特別なコマンドpreseedが含まれています。キックスタート構文といくつかのpreseed構文を混合する例を次に示します。

# Kickstart syntax: Configure authentication 
auth --useshadow --enablemd5

#Ubuntuキックスタート構文:プレシード経由でのみ利用可能なオプションを使用して通知する

#Ubuntuのインストーラーはインストール中に非rootユーザーを作成しません

preseed passwd/make-user boolean false

#Ubuntuキックスタート構文:「セキュリティ更新プログラムを自動的にインストールする」にチェックを入れます

preseed pkgsel/update-policy select unattended-upgrades
2
Rinzwind