terça-feira, 18 de outubro de 2016

Interface de rede em modo estático no CentOS 6/Red Hat 6 - Configuração


Muitos são os cenários que são necessários endereço de rede, bem como demais configurações, setados de forma estático. Dentre o que deve ser configurado, vamos nos ater ao IP, Rede, Máscara, Gateway, DNS.

Iniciaremos definindo as configurações de rede em nosso servidor. Isso é definido em 3 arquivos no CentOS:

1. /etc/sysconfig/network-scripts/ifcfg-<SuaInterface>
2. /etc/sysconfig/network
3. /etc/resolv.conf

Onde:
  • No item 1: Será definido detalhes como IP, MAC, Rede, Máscara, etc.
  • No Item 2: Definiremos o gateway.
  • No item 3: Setaremos o DNS para resolução de nomes.

Item 1: as linhas que adicionei/alterei estão marcadas com " * ". Ficamos com as seguintes configurações:

DEVICE=eth0                              # Identificação da interface.
HWADDR=08:00:27:52:DC:7F    # Endereço MAC da interface.
IPADDR=192.168.0.120*            # Endereço IP.
NETMASK=255.255.255.0*        # Máscara de Subrede.
NETWORK=192.168.0.0*           # Rede.
ONBOOT=yes*                           # Habilitar interface no boot do sistema, "yes".
NM_CONTROLLED=yes            # Permite que o sistema opere , em seus scripts de rede, a esta interface.
BOOTPROTO=static*                 # Com "static" deixaremos fixados todas as configurações setadas.

Item 2: ao editar o arquivo do item 2, a seguinte configuração:

NETWORKING=yes
HOSTNAME=srv00
GATEWAY=192.168.0.1*         # Gateway de rede

Item 3: configurações de DNS:

nameserver 8.8.8.8                  # DNS primário
nameserver 8.8.4.4                  # DNS secundário


segunda-feira, 17 de outubro de 2016

10 programas para edição de vídeos no Linux



Um editor de vídeo permite você modificar/alterar um vídeo sem tratamento (sem edição) e torná-lo ideal para divulgação. Essa edição envolve cortes, redimensionamento, adição de efeitos, e muitos outros recursos. Tudo isso através de uma linha de tempo, para facilitar a interação no momento da edição do vídeo. Sendo assim, nesse artigo eu irei mostrar 10 programas para edição de vídeo disponíveis no Linux; destacando suas características e funcionalidades principais.

Se você tiver alguma sugestão de programa para edição de vídeo, sinta-se a vontade para compartilhá-la na seção de comentários desse post.

1 – Avidemux


É um editor de vídeo que suporta os formatos mais populares, incluindo AVI, MPEG compatível com arquivos DVD, MP4 e ASF, e usa uma grande variedade de codecs. Um dos destaques do programa é sua grande variedade de filtros. Ele permite desfrutar bastante desse recurso, oferecendo efeitos comparáveis aos dos editores de imagem. Além disso, o Avidemux possui o próprio mecanismo de conversão de formatos de vídeo.

2 – Cinelerra-CV


O Cinelerra é um editor multimídia com recursos de captura de video e ferramentas de edição de video e áudio. Baseado no sistema Open GL, ele possui linha do tempo (que dá ao usuário uma visualização baseada no tempo de todas as faixas de vídeo e áudio no projeto), o compositor (que se apresenta ao usuário com um visualizador do projeto final como vai ficar quando for renderizado) e a janela de recursos (que se apresenta ao usuário com uma visualização de todos os recursos de audio e video no projeto) na tela principal.
  • Licença: GNU GPL
  • Suporte: Linux
  • Suporte a captura direta de webcams
  • Site Oficial: http://cinelerra.org

3 – Flowblade


Flowblade é um editor de vídeo multitrack não-linear projetado para fornecer uma experiência de edição rápida, precisa e realizar a tarefa da forma mais simples possível. Você pode inserir seus clipes na linha do tempo, que suporta até 5 faixas de vídeo e quatro faixas de áudio. Aplicar zoom, efeitos de transição, mover e girar o vídeo com ferramentas de animação.

4 – Jahshaka


O software possui recursos de edição e efeitos de vídeo, correção de cores, composição 2D e 3D, entre outros. O Jahshaka é multiplataforma e é escrito em C++ e Python e usa o toolkit Qt.
  • Licença: GNU GPL
  • Suporte: Linux, MacOS, Windows
  • Suporte a efeitos de áudio e vídeo
  • Suporte a efeitos de animações 2D/3D
  • Site Oficial: http://www.jahshaka.com/

5 – Kdenlive


Kdenlive é um software de edição video para KDE. É um poderoso editor de vídeo multitrack, que inclui as tecnologias de vídeo mais recentes. É um excelente software de edição de vídeos.
  • Licença: GNU GPL v2+
  • Suporte: Linux e MacOS
  • Suporte ao ambiente KDE
  • Suporte a efeitos de áudio e vídeo
  • Exportação para serviços de Internet, como: YouTube, Dailymotion ou Vimeo
  • Site Oficial: http://www.kdenlive.org/

6 – Lightworks


Lightworks é um editor de vídeos usado por profissionais, com recursos avançados e inúmeras possibilidades; que finalmente está disponível para Linux. Ele tem sido utilizado em diversos filmes premiados, incluindo O “Discurso do Rei”. Contudo, o Lightworks é gratuito para usar, mas se você quiser codecs e suporte adicionais, será preciso comprar uma licença PRO, que custa aproximadamente $60/ano.
  • Licença: Freemium (modelo de negócio em que um produto ou serviço proprietário é oferecido gratuitamente, mas é cobrado para obter recursos adicionais)
  • Suporte: Linux, MacOS, Windows
  • Site Oficial: http://www.lwks.com/
  • Visão Geral

7 – LiVES


LiVES é um editor de vídeos que possui muitas funcionalidades e recursos especiais. Através dele, você pode importar vídeos de diversos formatos, modificando-os como desejar.

8 – OpenShot


OpenShot é um editor de vídeo para Linux. Com ele você pode adicionar facilmente sub-títulos, transições e efeitos, e, em seguida, exportar o seu filme para DVD, YouTube, Vimeo, Xbox 360, e muitos outros formatos comuns. Sua interface amigável facilita as tarefas como as de cortar e redimensionar vídeos.
  • Licença: GNU GPL v3
  • Possui suporte para muitos formatos de vídeo, áudio e imagem (com base no FFmpeg)
  • Zoom Digital
  • Suporte a efeitos de animações 2D/3D (títulos)
  • Site Oficial: http://www.openshot.org/

9 – Pitivi


O aplicativo é escrito em Python, e usa o GStreamer para importar e processar arquivos multimídia. Ou seja, Ele pode fazer bastante coisa, de processamento de som em tempo real até reprodução de vídeo. Ele possui um modo de visualização avançado que permite que se edite vídeos de maneira mais profissional e precisa.

10 – Shotcut


Fonte:
http://www.linuxdescomplicado.com.br/

sábado, 1 de outubro de 2016

Manual básico do Virtualbox via linha de comando

O Virtualbox é uma ferramenta da Oracle para virtualização muito prática. A interface é tão simples que um usuário não muito experiente consegue instalar em seu desktop e criar uma máquina em poucos minutos. Mesmo assim o Virtualbox é utilizado em ambientes empresariais com um bom nível de confiança e desempenho, ainda sendo gratuito. Com uma máquina virtualizada você pode facilmente simular ambientes de produção e inclusive experimentar aquelas distribuições de sistemas operacionais mais exóticas sem ter de reinstalar todas as suas aplicações caso algo dê errado.

Há vários manuais na Internet que explicam como utilizar o Virtualbox no modo gráfico, mas poucos conhecem a interface mais completa por linha de comando. Este manual o guiará pelo processo completo de instalação e uso em uma máquina com Linux através de um terminal de linha de comando. Note que poucas variações acontecem entre sistemas operacionais Linux, e até em sistemas Windows a variação é pequena, provavelmente terá de alterar apenas os caminhos de arquivos e nomes das interfaces de rede em alguns casos.

O que é um sistema hospedeiro (host) e o que é um sistema convidado (guest)?

O sistema hospedeiro nada mais é que o sistema operacional instalado em sua máquina física. Enquanto o sistema convidado é o sistema operacional instalado nas máquinas virtuais (VMs). Note que a escolha do sistema hospedeiro nem sempre influencia no desempenho do sistema convidado. Mas quanto mais programas estiverem executando e concorrendo com suas máquinas virtuais, pior será o desempenho das mesmas. Por isso escolha uma distribuição limpa, um disco de netinst do Debian é perfeito para isso.
A distribuição Linux utilizada nos testes e formulação deste manual é um Debian 6. Foi instalado a partir de um disco netinst que possui aproximadamente 60Mbs. Só foi necessário instalar o pacote do OpenSSH para permitir a configuração remota. No Windows você pode utilizar o Putty ou o PenguiNet. No Linux, use o comando ssh. Se você não souber como utilizar estes aplicativos recomendo que utilize a versão do gráfica do Virtualbox.
Este sistema hospedeiro será considerado um ambiente headless (sem interface gráfica). Normalmente este tipo de ambiente é o utilizado em ambientes corporativos, onde não há um monitor, mouse e teclado em cada máquina/servidor. Afinal se o ambiente é virtualizado, porque limitar-se ao espaço físico da máquina onde suas máquinas virtuais estão?
Leitura para mais tarde: cloud computing.

E o que afinal é o Virtualbox?

O Virtualbox nesta história é o hypervisor, também conhecido como VMM (Virtual Machine Manager). Ele é quem tem a árdua tarefa de simular a máquina física em uma máquina virtual. É claro que algumas vezes ele conta com a ajuda do processador que expôe alguns recursos para virtualização como o VT-x da Intel e o AMD-V da AMD.
Há dois tipos de hypervisors:
Tipo 1 (Bare metal): aquele hypervisor que executa diretamente sobre a máquina. Estes são os melhores, pois estes não são instalados sobre um sistema hospedeiro, e sim diretamente na máquina. Evitando assim a problemática dos aplicativos instalados no sistema hospedeiro. O Citrix XenServer é um exemplo de hypervisor bare metal.
Tipo 2 (Hosted): um hypervisor que executa sobre um sistema hospedeiro. Esse é o caso do Virtualbox. O desempenho não é o melhor possível, porém ainda assim o resultado é muito bom quando combinado com recursos do processador como o VT-x ou AMD-V.

Organizando as pastas para o ambiente de virtualização

Como sugestão, crie algumas pastas para organizar seu ambiente. Se há algo inconveniente na instalação e uso padrão do Virtualbox são os espaços criados automaticamente nos nomes das pastas. Espaços só encomodam durante o uso da interface por linha de comando.
  1. # Primeiro de tudo, entre no modo ROOT
  2. su
  3. # Criando a pasta do ambiente de virtualização
  4. mkdir /virt
  5. # Criando uma pasta para armazenar todas as máquinas criadas
  6. mkdir /virt/vms
  7. # Criando uma pasta para armazenar as ISOs de instalação
  8. mkdir /virt/isos
  9. # Criando uma pasta para armazenar alguns pacotes utilizados na instalação/configuração
  10. # do Virtualbox
  11. mkdir /virt/packs
  12. # Definindo permissões liberais para a pasta de vms
  13. chmod 0777 -R /virt/vms

Instalação do Virtualbox no Debian

Antes de começar com os passos de instalação saiba que os links utilizados nos comandos wget abaixo podem não funcionar. A frequência de atualização do Virtualbox é bem grande. Visite o site do Virtualbox para pegar os links atualizados se algum dos links abaixo falhar. Como é um sistema operacional Debian, utilizaremos o apt-get para instalar os pacotes.
  1. # Entrando na pasta de pacotes
  2. cd /virt/packs
  3. # Inserindo o repositório do Virtualbox na lista de sources do apt-get
  4. echo deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free \
  5. >> /etc/apt/sources.list
  6. # Registrando a chave da Oracle para o apt-get
  7. wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- \
  8. | sudo apt-key add -
  9. # Não esqueça de atualizar as definições de pacotes
  10. sudo apt-get update
  11. # Instalando o Virtualbox de fato
  12. sudo apt-get install virtualbox-4.1 dkms
  13. # Instalando o pacote de extensões para ativar o acesso remoto a máquina virtual
  14. wget http://phcco.com/public/res/vbox/extpack.php -O extpack.vbox-extpack
  15. # Utilize o vboxmanage do Virtualbox para instalar o pacote adicional
  16. vboxmanage extpack install extpack.vbox-extpack
  17. # Acabaram as tarefas de root
  18. exit
Se no último passo você não encontrar o vboxmanage provávelmente houve algum problema na instalação do pacote. Lembre-se que no Windows a variável PATH precisa ser configurada para utilizar também a pasta de binários do Virtualbox.

Após a instalação saia do modo administrador. Se você criar as máquinas utilizando o usuário root poderá ter problemas ao inicializar a máquina virtual.

Baixando a ISO do Debian para instalar como sistema convidado

Enquanto criamos a máquina virtual, abra um novo terminal e coloque para baixar a ISO do Debian 6. Este será o sistema operacional convidado que será instalado. A versão utilizada neste exemplo é 64 bits. Recomenda-se utilizar um sistema hospedeiro 64 bits e sempre que possível um sistema convidado também 64 bits.
  1. wget http://cdimage.debian.org/debian-cd/6.0.5/amd64/iso-cd/debian-6.0.5-amd64-netinst.iso \
  2. -O /virt/isos/debian-6.0.5-amd64-netinst.iso

Criando a maquina virtual

Para criar a máquina virtual você precisa definir o sistema operacional convidado, assim o Virtualbox pode ajustar o hypervisoradequadamente. Você pode escolher um tipo de sistema operacional diferente, porém há chances do sistema não funcionar corretamente. No nosso caso vamos procurar o ID do Debian.
  1. # Omita o "| grep Debian" se quiser dar uma olhada no cardápio
  2. vboxmanage list ostypes | grep Debian
  3. # Criando a máquina virtual de fato, no nosso exemplo chamaremos a máquina de Deb64
  4. # Evite o espaço no nome!
  5. vboxmanage createvm --name Deb64 --ostype Debian_64 --register --basefolder /vms
  6. # Agora defina quantos processores esta máquina utilizará e qual é o tamanho da memória RAM e VRAM
  7. vboxmanage modifyvm Deb64 --cpus 4 --memory 1024 --vram 8
Lembre-se que de nada adianta definir 4 processadores se sua máquina física só possuir 2 núcleos. Defina no máximo a quantidade real de núcleos que sua máquina possui. O Virtualbox até permite que você defina 36 processadores em uma máquina virtual, mas com um processador de quatro núcleos a sua máquina virtual vai perder mais tempo simulando os 28 processadores extras do que executando suas aplicações.
Como este sistema hospedeiro não possui interface gráfica, não defina uma quantidade muito grande de memória VRAM, ela será inútil. Oito Mbs já são suficientes para a maioria dos sistemas Linux sem gerenciador de janelas. Para Windows recomendo utilizar 16Mbs.

Configurações avançadas de máquina

Com as instruções acima já é possível iniciar a máquina. Mas vale a pena definir algumas propriedades extras na máquina. O comando abaixo ativa recursos de virtualização do processador. Algumas são válidas apenas para máquinas Intel com VT-x. Se estiver curioso por mais detalhes sobre o que cada parametro faz visite o manual oficial do Virtualbox.
  1. vboxmanage modifyvm Deb64 --pae on --hwvirtex on --hwvirtexexcl on \
  2. --nestedpaging on --largepages on --vtxvpid on
O parâmetro cpuexecutioncap permite que você restrinja a execução da máquina virtual para que o sistema convidado não utilize toda a capacidade de processamento do seu sistema hospedeiro. É um valor em porcentagem, no exemplo abaixo permitimos o uso de 75% do poder de processamento. Só é útil em ambientes onde há mais de uma máquina virtual executando e você não quer que uma das máquinas exaure recursos reservados por outra.
  1. vboxmanage modifyvm Deb64 --cpuexecutioncap 75
O comando abaixo irá ativar o ACPI da máquina virtual e o I/O APIC. O primeiro ativa recursos de gerenciamento de energia da máquina virtual e o segundo ativa um recurso que é necessário para que alguns SO detectem mais de um processador.
  1. vboxmanage modifyvm Deb64 --acpi on --ioapic on
Alguns ajustes na configuração da BIOS são importantes. É necessário configurar a ordem de boot e desabilitar a exibição da tela de BIOS na máquina virtual.
  1. # Eliminando o logotipo da virtualbox que simula a BIOS
  2. vboxmanage modifyvm Deb64 --bioslogodisplaytime 0
  3. # Definindo a ordem de boot, primeiro o DVD e depois o HD
  4. vboxmanage modifyvm Deb64 --boot1 dvd
  5. vboxmanage modifyvm Deb64 --boot2 disk
Uma máquina virtual precisa ter uma controladora para os discos rígidos e para drive de dvd. Então criamos um adaptador SATA com duas portas.
  1. # Criamos uma interface de nome SATA, para facilitar, com duas portas
  2. vboxmanage storagectl Deb64 --name sata --add sata --sataportcount 2
  3. # Desabilitamos o cache de IO, só utilize ON se seu disco rígido for ruim
  4. vboxmanage storagectl Deb64 --name sata --hostiocache off
  5. # Definimos que é possível bootar por ele
  6. vboxmanage storagectl Deb64 --name sata --bootable on
O uso do hostiocache exige processamento extra, por isso desabilite se estiver utilizando um disco de estado sólido ou um disco rápido (com 7200 RPM ou mais). Em discos lentos deixe-o ativo para ter um melhor desempenho em escritas e leituras consecutivas. O cache também pode lhe causar corrupção de disco virtual caso o seu sistema hospedeiro feche forçadamente as máquinas virtuais.

Opções extras

Como esta máquina virtual será I{headless}, desabilite coisas inúteis.
  1. # Removendo o audio
  2. vboxmanage modifyvm Deb64 --audio none
  3. # Removendo a área de transferência
  4. vboxmanage modifyvm Deb64 --clipboard disabled
  5. # Removendo a interface USB
  6. vboxmanage modifyvm Deb64 --usb off --usbehci off

Configurando a rede

Há duas formas distintas de configuração de uma interface de rede virtual. O modo bridge expôe o sistema convidado à mesma rede do sistema hospedeiro. Enquanto o NAT faz com que seu sistema hospedeiro atue como um roteador que oculta as máquinas virtuais. Na prática o NAT só é útil quando você não tiver um serviço DHCP configurado na rede onde seu sistema hospedeiro está.

Ao fim dos parâmetros de rede sempre haverá um número, ele indica qual é a interface de rede do convidado relacionada ao comando. Uma máquina virtual pode ter até 9 interfaces de rede, começando no número 1.

Opções de rede para bridge

Se você for utilizar o modo bridge você poderá definir um MAC específico para a placa, e atribuir um IP fixo em seu servidor DHCP. Obviamente é necessário definir qual será o adaptador utilizado no sistema hospedeiro. No nosso caso será a eth0.
  1. vboxmanage modifyvm Deb64 --nic1 bridged --bridgeadapter1 eth0 --macaddress1 ca0ca0ca0ca0 \
  2. --cableconnected1 on --nicpromisc1 deny
Note que negamos o uso do modo promíscuo. Sem esta definição o sistema convidado poderá ler todos os pacotes que passam pela rede.

Opções de rede para NAT

Se você quiser utilizar o modo NAT recomendo utilizar as configurações abaixo.
  1. vboxmanage modifyvm Deb64 --nic1 nat --natnet1 "192.168.0/24" --natdnsproxy1 on \
  2. --nataliasmode1 sameports
Definimos a faixa de rede que será utilizada pela máquina virtual (há um serviço DHCP interno do Virtualbox que irá entregar um IP nesta faixa). Definimos que o hypervisor também irá atuar como servidor de DNS, assim você não irá expor a configuração de DNS do seu sistema hospedeiro. Também definimos que o NAT irá tentar utilizar as mesmas portas de saída do sistema convidado no sistema hospedeiro. Isso reduz alguns problemas de compatibilidade.

Criando Port Forwardings no NAT

É possível configurar também algumas portas do sistema convidado para criar conexões de entrada na máquina virtual. Neste caso configuramos para que a porta 2222 do sistema hospedeiro seja redirecionada para a porta 22 do sistema convidado.
  1. # Sintaxe dos parâmetros
  2. # vboxmanage modifyvm Deb64 --natpf<1-N> "[<name>],tcp|udp,,<hostport>,,<guestport>"
  3. # Criamos o redirecionamento
  4. vboxmanage modifyvm Deb64 --natpf1 "guestssh,tcp,,2222,,22"
  5. # Para apagar basta utilizar o comando delete
  6. # vboxmanage modifyvm Deb64 --natpf1 delete "guestssh"

Configurando a interface remota (VRDE)

Para um ambiente headless é muito importante configurar o VRDE. O VRDE é uma variação do RDP e você pode usar o mstsc (no Windows) ou o tsclient (no Linux) para acessar a máquina virtual durante a instalação do sistema convidado.
  1. # Habilitamos o VRDE, e informamos qual é a porta do serviço
  2. vboxmanage modifyvm Deb64 --vrde on --vrdeport 5000
  3. # Ajustamos alguns parâmetros para otimizar o VRDE
  4. vboxmanage modifyvm Deb64 --vrdereusecon on --vrdemulticon off --vrdevideochannel on \
  5. --vrdevideochannelquality 75
  6. # Informamos que não é necessário solicitar usuário e senha para abrir o VRDE
  7. vboxmanage modifyvm Deb64 --vrdeauthtype null
  8.  
  9. # Abaixo desabilitamos algumas funcionalidades para melhorar o desempenho
  10. vboxmanage modifyvm Deb64 --vrdeproperty Client/DisableUSB=1
  11. vboxmanage modifyvm Deb64 --vrdeproperty Client/DisableAudio=1
  12. vboxmanage modifyvm Deb64 --vrdeproperty Client/DisableClipboard=1
  13. vboxmanage modifyvm Deb64 --vrdeproperty Client/DisableUpstreamAudio=1
O uso da máquina virtual sem senha é inseguro, mas para os testes em uma máquina em ambiente controlado não é tão útil configura-lo. Para configurar o usuário e senha utilize o procedimento abaixo.
  1. # Habilitamos a autenticação externa do VRDE
  2. vboxmanage modifyvm Deb64 --vrdeauthtype external
  3. # Para criar um usuário e senha primeiro gere a senha
  4. # O comando abaixo criará um hash
  5. vboxmanage internalcommands passwordhash "pass"
  6. # Copie o hash gerado e passe como parâmetro no comando abaixo
  7. # Recomenda-se utilizar um nome de usuário que exista no sistema hospedeiro
  8. # vboxmanage setextradata Deb64 "VBoxAuthSimple/users/<user>" <hash>
  9. # O comando abaixo adiciona um usuário de nome user com a senha pass
  10. vboxmanage setextradata Deb64 "VBoxAuthSimple/users/user" \
  11. d74ff0ee8da3b9806b18c877dbf29bbde50b5bd8e4dad7a3a725000feb82e8f1
Note que esta porta VRDE é aberta no sistema hospedeiro e não no convidado. Portanto não é necessário configurar nenhuma porta dentro do sistema convidado. Lembre-se de utilizar portas acima de 1024 para não ter problemas com as diretivas de segurança do Linux.

Criando um HD virtual

Para criar um HD utilize os comandos abaixo. O formato VDI é o recomendado pelo Virtualbox, mas você pode escolhar VMDK ou VHD para ter compatibilidade com outro hypervisor.
  1. # Crie um disco informando o caminho completo do arquivo
  2. # O tamanho deve ser informado em megabytes
  3. vboxmanage createhd --filename /virt/vms/Deb64/disk1.vdi --size 16384 --format vdi
O arquivo do HD não irá utilizar o mesmo tamanho do tamanho do HD especificado, ele irá crescer de acordo com os arquivos salvos no HD virtual. Se você utilizar o HD virtual até o limite você pode usar dois comandos.
O comando resize aumenta o tamanho do HD. Mas não ajusta a tabela de partições portanto não esqueça de reparticionar o disco.
  1. vboxmanage modifyhd /virt/vms/Deb64/disk1.vdi --resize 20480
Você também pode utilizar o compact para reduzir o tamanho do arquivo de acordo com o uso interno. Assim após remover o espaço excedente que não é mais utilizado por partições no sistema convidado e poderá recuperar o espaço em disco do sistema hospedeiro.
  1. vboxmanage modifyhd /virt/vms/Deb64/disk1.vdi --compact
Após criar o HD é importante conectar à controladora SATA que criamos anteriormente. Note que estamos conectando na porta 0 da controladora, e utilizando o modo normal.
  1. vboxmanage storageattach Deb64 --storagectl sata --port 0 --type hdd \
  2. --medium /virt/vms/Deb64/disk1.vdi --mtype normal
Dentre os outros modos existentes, o modo existente é o immutable é útil após instalar o sistema operacional do convidado em modo normal. No modo immutable qualquer modificação no HD é eliminada após desligar a máquina virtual. Este modo é muito útil em sistemas onde você cria uma máquina temporária para testes. Para tal ajuste de modo você deve utilizar o comando abaixo.
  1. vboxmanage storageattach Deb64 --storagectl sata --port 0 --type hdd \
  2. --medium /virt/vms/Deb64/disk1.vdi --mtype immutable

Criando um CD/DVD a partir de uma imagem de disco ISO

Precisamos criar um drive de CD/DVD para instalar o sistema operacional convidado. É necessário informar o caminho completo para o ISO no parâmetro medium.
  1. vboxmanage storageattach Deb64 --storagectl sata --port 1 --type dvddrive \
  2. --medium /virt/isos/debian-6.0.5-amd64-netinst.iso
Para remover o disco após o uso utilize o comando abaixo.
  1. # Neste caso removemos o drive
  2. vboxmanage storageattach Deb64 --storagectl sata --port 1 --type dvddrive \
  3. --medium none
  4. # Neste outro apenas indicamos que removemos o disco do drive
  5. vboxmanage storageattach Deb64 --storagectl sata --port 1 --type dvddrive \
  6. --medium emptydrive

Instalando o sistema operacional

Com a máquina configurada basta iniciar a máquina virtual com o parâmetro informando que está no modo headless.
  1. # Inicializa a máquina
  2. vboxmanage startvm Deb64 --type headless
  3.  
  4. # Você pode conferir o estado da máquina executando o comando
  5. vboxmanage showvminfo Deb64 | grep State
Lembre-se que configuramos a porta 5000 para o serviço de terminal remoto, então use a sua aplicação RDP para visualizar o que está acontecendo e proceder com a instalação do Debian na sua máquina virtual.
É importante que instale um pacote SSH no sistema convidado para administra-lo. O VRDE é muito lento para trabalhar durante um longo tempo e consome muito processamento. Em máquinas Windows recomenda-se habilitar o terminal remoto nativo, a melhora na resposta com o uso do servidor nativo é muito grande.

Manipulando a máquina virtual

Agora que você já está com a máquina virtual configurada em seu servidor vou apresentar outros comandos importantes.
  1. # Pausa a máquina, é similar ao sleep porém o sistema convidado não dorme
  2. vboxmanage controlvm Deb64 pause
  3. # Retoma a execução da máquina virtual após uma pausa, é como o wakeup
  4. vboxmanage controlvm Deb64 resume
  5. # Faz o reset da máquina, o efeito é o mesmo que o botão físico
  6. vboxmanage controlvm Deb64 reset
  7. # Salva o estado da máquina e a desliga, é equivalente ao hibernar
  8. vboxmanage controlvm Deb64 savestate
  9. # O efeito é o mesmo do botão físico de power
  10. vboxmanage controlvm Deb64 acpipowerbutton
  11. # Caso o modo ACPI não resolva seu problema em desligar a maquina virtual
  12. # utilize a versão equivalente ao desligamento de energia
  13. vboxmanage controlvm Deb64 poweroff
  14. # O efeito é o mesmo da tecla sleep no teclado, neste caso o sistema convidado dorme
  15. vboxmanage controlvm Deb64 acpisleepbutton
É interessante informar que as versões mais novas do Virtualbox pausam a máquina virtual quando há um problema de espaço em disco físico. Naturalmente pela característica do arquivo do HD crescer apenas com o uso do mesmo você pode ter vários discos virtuais de 100 GBs em um disco físico de 100 GBs por exemplo. Portanto quando um disco virtual não consegue alocar o espaço em disco físico o Virtualbox pausa a máquina para evitar perda de dados.
Você também pode modificar configurações de rede durante o funcionamento da máquina virtual.
  1. # Alterando o estado de conexão da rede (algo como "cabo ligado" ou o contrário)
  2. vboxmanage controlvm Deb64 setlinkstate1 off
  3. # Alterando o modo de rede
  4. vboxmanage controlvm Deb64 nic1 nat
  5. # Apagando a regra de port forwarding para o SSH em NAT
  6. vboxmanage controlvm Deb64 natpf1 delete "guestssh"
É possível também alterar as restrições de execução da máquina.
  1. # Removendo toda a restrição de execução
  2. vboxmanage modifyvm Deb64 cpuexecutioncap 100
E ativar/desativar o VRDE, o que é muito útil ao fim de todas as configurações necessárias. Ou ainda trocar a porta usada pelo serviço.
  1. vboxmanage modifyvm Deb64 vrde on
  2. vboxmanage modifyvm Deb64 vrdeport 3000

Criando e manipulando snapshots

Snapshots são cópias completas de uma configuração da máquina virtual. Não somente em definições da máquina, como em informações na memória RAM e disco rígido. Através do snapshot é possível restaurar um estado anterior da máquina.
  1. # Criando um snapshot chamado Snap1
  2. vboxmanage snapshot Deb64 take Snap1
  3. # Restaurando um snapshot
  4. vboxmanage snapshot Deb64 restore Snap1
  5. # Listando todos os snapshots de uma máquina
  6. vboxmanage snapshot Deb64 list
  7. # Apagando um snapshot
  8. vboxmanage snapshot Deb64 delete Snap1
É importante lembrar que um I{snapshot} não funciona como um backup completo, pois ele cria "HDs parciais", que correspondem as modificações a partir de determinado ponto.

Exportando uma máquina virtual (appliance)

Exportar uma máquina virtual é muito útil para salvar máquinas virtuais prontas. Através de um appliance você pode distribuir uma máquina pronta com as configurações ajustadas. O appliance é exportado com as configurações atuais e leva consigo todos os HDs ligados a suas controladoras.
  1. vboxmanage export Deb64 --output appliance.ova

Convertendo HD virtual de VDI para VMDK

Esse comando mostra como converter os hd's das maquinas virtual de vdi para vmdk ou vice-vesa
  1. vboxmanage clonehd arquivo.vdi arquivo.vmdk --format VMDK

Importando uma máquina virtual (appliance)

Ao receber um appliance em formato OVF ou OVA basta executar o comando de importar para registrar a máquina virtual. É possível alterar alguns parâmetros da máquina durante a importação. Porém a maioria dos parâmetros só pode ser ajustada posteriormente através dos comandos exibidos nos outros tópicos.
  1. # Para simular uma importação e ver os parâmetros disponíveis
  2. vboxmanage import appliance.ova --dry-run
  3. # Para importar alterando basta o comando
  4. vboxmanage import appliance.ova --vsys 0 --vmname NovaMaquina

Comandos úteis

Algunas comandos úteis para consultar a situação das máquinas virtuais.
  1. # Listando as VMs registradas
  2. vboxmanage list vms
  3. # Listando as VMs em execução
  4. vboxmanage list runningvms
  5. # Exibindo propriedades do sistema hospedeiro
  6. vboxmanage list systemproperties
  7. # Exibindo informações da máquina
  8. vboxmanage list hostinfo

Referências