私が使用していパッカーを Ubuntuの16.04画像に基づいてAWS AMIを作成します。最初は、アップグレードを行っています。
sudo apt-get update
sudo apt-get upgrade -y
プロビジョニング担当者セクションの関連部分は次のとおりです。
"provisioners": [
{
"type": "shell",
"inline": [
"sudo apt-get update",
"sudo apt-get upgrade -y"
]
}
]
ただし、インタラクティブなダイアログがポップアップするため、自動化が中断されます。
amazon-ebs: Found kernel: /boot/vmlinuz-4.4.0-72-generic
amazon-ebs: A new version of /boot/grub/menu.lst is available, but the version installed
amazon-ebs: currently has been locally modified.
amazon-ebs:
amazon-ebs: 1. install the package maintainer's version
amazon-ebs: 2. keep the local version currently installed
amazon-ebs: 3. show the differences between the versions
amazon-ebs: 4. show a side-by-side difference between the versions
amazon-ebs: 5. show a 3-way difference between available versions
amazon-ebs: 6. do a 3-way merge between available versions (experimental)
amazon-ebs: 7. start a new shell to examine the situation
私もexport DEBIAN_FRONTEND=noninteractive
前に設定しようとしました(この回答で推奨されています)。残念ながら、違いはありません。
質問:
- 反復ダイアログを通過する方法はありますか(オプション1を選択することで問題ありません)。
- 代わりに、アップグレードを避け、代わりにAMIが最新であり、重要なセキュリティパッチが含まれていることを信頼する方が良いでしょうか?
背景:これは「ビルダー」セクションの関連部分であり、利用可能な最新のAMIを使用するように構成しました。
"builders": [{
"type": "amazon-ebs",
"region": "eu-central-1",
...
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
"name": "*ubuntu-xenial-16.04-amd64-server-*",
"root-device-type": "ebs"
},
"owners": ["099720109477"],
"most_recent": true
},
...
}]
注:とフラグのnoniteractive
両方でapt-get updateを実行すると、モードが機能することがわかります。-y
-q
apt-get update ; DEBIAN_FRONTEND=noninteractive apt-get upgrade -yq
ます。私は何もプロンプトを出さないと思うapt-get update
ので、おそらく必要DEBIAN_FRONTEND
ではないので、あなたは本当に必要とせずexport
DEBIAN_FRONTEND
、あなたの環境の残りを通して存在し続ける必要があります。あなたにとって重要なあらゆる程度に。