Есть ли способ узнать, запущена ли запущенная мной (фактически устанавливаемая) ОС на компьютере VMWare. Мне нужно отключить настройки ntp, если автоматическая установка выполняется на виртуальной машине, но оставить их включенными, если нет. Инструменты VMWare не устанавливаются после завершения этой проверки.
Для VMWare может помочь инструмент vmware-checkvm . Это часть пакета open-vm-tools.
count=$(lshw | grep -i vmware | wc -l) ; if [ "$count" -gt 0 ] ; then echo "disable ntp" ; else echo "enable ntp" ; fi
Очевидно, измените эхо на команды, которые вы хотите.
Примечание: это будет работать только для VMware. Вам нужно будет сделать это grep -i "vmware\|virtualbox\|xen"
или что-то подобное (посмотрите на вывод lshw
на virtualbox или xen, чтобы увидеть точные строки), если вы используете разные системы виртуализации.
Можете ли вы определить это после установки? Если это так, я бы написал скрипт для запуска после установки инструментов VMware и затем настроил системные демоны. Перед установкой может быть сложно придумать универсальное решение проблемы.