Boxes

Necessidade

  • Ambiente de desenvolvimento ágil.
  • Que permita executar de forma isolada aplicações sem auditoria ou checagem de integridade.

Criando uma base box

O procedimento básico já é detalhado aqui:

Note que:

  • Você precisa apenas do pacote virtualbox-guest-dkms para que a integração da máquina com o vagrant funcione corretamente.
  • O procedimento não serve apenas para usar a máquina virtual com o vagrant. Você pode usá-la também diretamente com o VirtualBox.
  • A seguir apenas documentaremos configurações específicas ou melhorias em relação à documentação oficial do vagrant.

Configuração do sudo

Usamos algo mais recomendado ao invés de mexer no /etc/sudoers do pacote:

echo "vagrant ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/vagrant
chown root.root /etc/sudoers.d/vagrant
chmod 0440 /etc/sudoers.d/vagrant

Workarounds

A mensagem de erro stdin: is not a tty é corrigida com isto no /root/.profile:

tty -s && mesg n

Customizando

Você já pode parar por aí pois já tem uma máquina bem genérica ou começar a customizar a máquina para ter ferramentas e configurações comuns para o seu dia dia.

Por exemplo, considere a instalação da Hydra Suite na máquina virtual.

Encolhendo uma máquina virtual

Procedimento genérico, dentro da máquina virtual:

hydractl upgrade clean
apt-get install zerofree # apenas uma vez
telinit 1
mount -o remount,ro /
zerofree /dev/sda1
halt

No host ($box é o nome da máquina):

VBoxManage modifyhd --compact /var/cache/virtualbox/$box/$box.vdi

Referências