Atualmente, eu uso um arquivo preseed para obter uma nova instalação do Ubuntu configurada como eu quero. No entanto, isso requer a inicialização de uma VM, a execução da instalação, etc. Mesmo se eu usar packer.io, ainda é um processo lento. Cada erro na instalação ou pós-instalação requer uma reinicialização e exige recursos.
No final do processo, acabo com um img (ou vmdk ou iso, escolha seu formato de arquivo) que possui um sistema de arquivos com todos os arquivos no local correto.
Existe uma maneira de obter o mesmo resultado líquido usando um contêiner? Um bom pedaço do Ubuntu já está disponível na imagem ubuntu:16.04
no hub do docker. Eu posso copiar tudo para um volume de montagem. Existem muitas ferramentas para criar o próprio img e particioná-lo para /boot
(ext4), /
(ext4) e EFI (FAT). Portanto, é apenas uma questão de obter os arquivos corretos.
Existe uma maneira de obter o resto?
Eu fiz um find / -xdev
em um contêiner e em uma VM instalada e executei um diff. Tem 56000 linhas, a esmagadora maioria das quais são /usr/src/linux-headers/
, seguidas pelo apt cache, dpkg, etc.
Eu posso rodar grub-install
, para colocar o grub onde e como eu quero. E todos os /dev
, /etc/apparmor
, /etc/init/
, /etc/init.d/
, /etc/initramfs-tools/
, /etc/rc_.d/
, /etc/ssl/
e especialmente todos os /lib/firmware/
, /lib/modules/
, /lib/systemd/
para dbus
, dev
, initrd
e outros serviços de inicialização?