Você pode determinar a versão das strings de versão do BIOS na saída dmidecode. Eu encontrei um exemplo de como fazer isso em link , que remonta a 2013, por isso, provavelmente está faltando algumas versões mais recentes:
case $( dmidecode | grep -A4 "BIOS Information" | grep Address | awk '{ print $2 }' ) in
"0xE8480" ) echo "ESX 2.5" ;;
"0xE7C70" ) echo "ESX 3.0" ;;
"0xE7910" ) echo "ESX 3.5" ;;
"0xE7910" ) echo "ESX 4" ;;
"0xEA550" ) echo "ESX 4U1" ;;
"0xEA2E0" ) echo "ESX 4.1" ;;
"0xE72C0" ) echo "ESXi 5" ;;
"0xEA0C0" ) echo "ESXi 5.1" ;;
"0xEA050" ) echo "ESXi 5.5" ;;
* ) echo "Unknown version: "
dmidecode | grep -A4 "BIOS Information"
;;
esac
Nossa equipe de ops não poderia me dizer qual versão do ESX estávamos rodando há alguns anos atrás (ugh !!), mas eu precisava saber porque estávamos nos preparando para testar um novo produto que exigia uma versão específica do hipervisor. Isso funcionou como um campeão para mim.
Se você precisar fazer isso como uma conta não-root, use sudo. Use "visudo" para acessar o arquivo sudoers e, em seguida, adicione uma linha semelhante à abaixo do final do arquivo:
nome de usuário ALL = (ALL: ALL) NOPASSWD: / usr / sbin / dmidecode
Isso permitirá que 'username' acesse o dmidecode sem nenhuma autenticação especial, apenas execute "sudo dmidecode" em vez de "dmidecode".