Descubra se o SO está sendo executado em um ambiente virtual

3

Existe alguma maneira de descobrir se o sistema operacional que estou executando (realmente instalando) está sendo executado em uma máquina VMWare. Preciso desabilitar as configurações do ntp se a instalação automatizada for feita em uma máquina virtual, mas mantenha-as ativadas, se não. As ferramentas VMWare não são instaladas quando esta verificação é feita.

    
por ulve 01.11.2010 / 17:04

3 respostas

1
 count=$(lshw | grep -i vmware | wc -l) ; if [ "$count" -gt 0 ] ; then echo "disable ntp" ; else echo "enable ntp" ; fi

Obviamente, mude o eco para os comandos que você quer.

Nota: isso só funcionará para o VMware. Você precisará fazer com que grep -i "vmware\|virtualbox\|xen" ou algo semelhante (veja a lshw output no virtualbox ou xen para ver quais são as strings exatas) se você estiver usando sistemas de virtualização diferentes.

    
por maco 01.11.2010 / 17:49
0

Para o VMWare, a ferramenta vmware-checkvm pode ajudar. Faz parte do pacote open-vm-tools.

    
por mgunes 01.11.2010 / 17:08
0

Você pode determinar essa pós-instalação? Em caso afirmativo, eu escreveria um script para ser executado depois de instalar as ferramentas do VMware e, em seguida, ajustar os daemons do sistema. Pré-instalação, pode ser difícil encontrar uma solução universal para o problema.

    
por user1623 01.11.2010 / 17:40