Estou tentando instalar o Ubuntu 20.04 da mesma maneira que instalo todos os meus outros convidados KVM, especificando um local da Web para instalar. Parece que, independentemente do endereço da Web que eu coloquei para o location
parâmetro, sempre obterei o seguinte erro:
ERRO Erro ao validar o local de instalação: Não foi possível encontrar uma distribuição instalável em ' http://us.archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/ubuntu-installer/ amd64/ '
Um exemplo dos meus comandos são:
qemu-img create \
-f qcow2 \
-o preallocation=metadata,lazy_refcounts=on \
/home/stuart/KVM-Command-Generator/vms/ubuntu-20/ubuntu-20.qcow2 15G
virt-install --connect qemu:///system \
--nographics \
--os-type linux \
--accelerate \
--hvm \
--network network=default,model=virtio \
--name ubuntu-20 \
--location http://us.archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/ubuntu-installer/amd64/ \
--extra-args "console=ttyS0 ks=http://pastebin.com/raw/WxQygWpm" \
--disk /home/stuart/KVM-Command-Generator/vms/ubuntu-20/ubuntu-20.qcow2,bus=virtio,format=qcow2 \
--ram 1024 \
--vcpus 2
... mas eu tentei muitos caminhos diferentes na web e também tentei especificar imagens iso diretamente. Alguém tem um exemplo que funcione ou sabe como posso corrigir isso?
Contexto
Eu tentei fazer isso nos hosts KVM Debian 9 e Debian 10 com o mesmo resultado.
o
--location
faz virt-install para fazer algumas suposições sobre o caminho do kernel/initrd nessas URLs. Não encontrar estes é o erro que você atingiu.A saída mais fácil que eu gostaria de reiterar é que, para VMs, usar imagens em nuvem é muito mais rápido e fácil do que ISOs. Vejo que você usa alguns arquivos kickstart, que (e mais) customização nesse cenário seria feita via cloud-init um ótimo exemplo pode ser encontrado aqui em " using cloud-init with multipass ". Há também
uvtool-libvirt
para conseguir o mesmo, masmultipass
está mais em foco no momento.Para manter
virt-install
em geral, você pode usar o--cdrom
parâmetro, que precisará apenas do caminho para o .iso e não faz suposições sobre outros caminhos. Infelizmente, usar --cdrom irá inicializá-lo como feito na iso e ignorar seus argumentos de linha de comando personalizados que, no seu caso, você precisa do arquivo kickstart.Enquanto isso, os caminhos nas árvores do instalador ainda estão bons (embora difíceis de encontrar) e você pode executar (funciona da mesma forma para bionic e outros):
$ virt-install --location http://us.archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/ --extra-args "ks=http://pastebin.com/raw/WxQygWpm"
Embora observe que ele lhe dirá o seguinte e você deve considerar a adaptação para o futuro:
Em qualquer caso - se o automatismo
--cdrom
ou--location
quebra para você novamente no caminho (além do uso geralmente melhor de imagens em nuvem mencionado acima), você sempre pode usar--kernel´ and
--initrd` para apontar diretamente para eles e funcionará.Mais discussões sobre o tópico estão neste bug