내가 사용하고 패커를 우분투 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
나머지 환경을 통해 존재하지 않아도됩니다. 당신에게 중요한 어느 정도까지.