packer
Vagrant 상자를 만들기 위해 Ubuntu Server 20.04(자세한 내용은 아래 참조)를 자동 설치하려고 합니다 . 하지만 설치 중에 멈췄는데 build-essential
, 쉘이 상태 100으로 종료됩니다. 역추적은 다음과 같습니다.
이 사진에.
나는 것 같다인터넷이 없어전부.
내가 사용하는 구성은 다음과 같습니다
ubuntu2004.pkr.hcl
.
source "virtualbox-iso" "autogenerated_1" {
boot_command = ["<enter><wait2><enter><wait><f6><esc><wait>", "autoinstall<wait2> ds=nocloud;", "<wait><enter>"]
boot_wait = "2s"
cd_files = ["./http/user-data", "./http/meta-data"]
cd_label = "cidata"
disk_size = 8192
guest_additions_path = "VBoxGuestAdditions_{{ .Version }}.iso"
guest_os_type = "Ubuntu_64"
headless = false
http_directory = "http"
iso_checksum = "sha256:f8e3086f3cea0fb3fefb29937ab5ed9d19e767079633960ccb50e76153effc98"
iso_urls = ["https://releases.ubuntu.com/focal/ubuntu-20.04.3-live-server-amd64.iso"]
shutdown_command = "echo 'ubuntu'|sudo -S shutdown -P now"
ssh_handshake_attempts = "20"
ssh_password = "ubuntu"
ssh_port = 22
ssh_username = "ubuntu"
ssh_wait_timeout = "10000s"
vboxmanage = [["modifyvm", "{{ .Name }}", "--memory", "1024"], ["modifyvm", "{{ .Name }}", "--cpus", "1"]]
virtualbox_version_file = ".vbox_version"
vm_name = "packer-ubuntu-20.04-amd64"
}
build {
sources = ["source.virtualbox-iso.autogenerated_1"]
provisioner "shell" {
scripts = ["scripts/init.sh", "scripts/cleanup.sh"]
}
post-processor "vagrant" {
compression_level = "8"
output = "ubuntu-20.04-<no value>.box"
}
}
user-data
:
#cloud-config
autoinstall:
version: 1
locale: en_US
keyboard:
layout: en
variant: us
network:
network:
version: 2
ethernets:
ens192:
dhcp4: true
storage:
layout:
name: lvm
identity:
hostname: ubuntu-server
username: ubuntu
password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
ssh:
install-server: yes
allow-pw: true
authorized-keys:
- ssh-ed25519 <<an-ssh-public-key-I-generated-on-my-desktop-with-ssh-keygen>>
user-data:
disable_root: false
packages:
- openssh-server
- build-essential
late-commands:
- echo 'ubuntu ALL=(ALL) NOPASSWD:ALL' > /target/etc/sudoers.d/ubuntu
더 많은 정보가 필요하면 알려주십시오. 도움을 주셔서 감사합니다.
답변1
좋습니다. 좀 더 조사해 보면 답이 나와 있습니다.
네트워크 어댑터를 에서 으로 변경해야 했는데 ens192
, enp0s3
이는 분명히 VM이 사용하고 있던 어댑터였습니다.
ip addr show
설치 중에 SSH 터미널에서 VM으로 사용하는 것을 발견했습니다 . 내 인터넷 검색의 대부분은 사람들이 사용하고 ens192
있고 분명히 작동하는 것으로 나타났기 때문에 이것이 올바른 방법인지는 여전히 확실하지 않습니다. 어떤 의견이라도 환영합니다.